The responder chain is the order in which various objects are given the opportunity to handle the event. In the simple case, suppose we have a button in NSView in NSWindow in NSApp. At the push of a button; the button will have the first opportunity to handle the event, then its controller, then NSView, then its controller, then NSWindow, then its delegate, then NSApp and its delegate. Thus, the object is first given the opportunity to handle the event, then its controller / delegate, then the container of the object, etc. There are other cases that are much more complex .
The object processes the event, implementing the event (void) responseToFictionalEvent: (UIEvent *). If this happens, the event will be consumed (prevented from being automatically passed down the chain).
source share