Events and the NSApplication Object
After an event is translated into an NSResponder method, your program’s NSApplication object sends the corresponding message to the appropriate NSWindow (or other) object within your application. The particular object in your application that receives the message is determined by the type of message, as shown in Table 8-2.
Table 8-2. Important NSResponder methods
NSResponder method |
Sent to |
---|---|
mouseDown:,rightMouseDown: |
The window where the mouse-down event occurred |
mouseUp:,rightMouseUp: |
The window where the original mouse-down event occurred |
mouseDragged:,rightMouseDragged: |
The window where the mouse-dragged event occurred |
mouseEntered:, mouseExited: |
The object that was specified when the tracking rectangle was created (see Chapter 18) |
keyDown: |
The key window |
keyUp: |
The same window that received the key-down event |
performKeyEquivalent: |
The key window |
As we saw earlier, each one of these NSResponder methods has an NSEvent object as its only argument. This NSEvent object contains essentially the same information that the Mac OS X Window Server passes to the NSApplication object, but it’s in a form that Cocoa programmers can handle.
Responders and the NSResponder Chain
As we mentioned earlier, the NSView, NSWindow, and NSApplication classes are all subclasses of the NSResponder class. NSResponder is the main class for handling events. It’s called an abstract superclass because its functionality is used via instances ...
Get Building Cocoa Applications: A Step by Step Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.