Using the Responder System
As mentioned earlier, the responder system is a generic user event manager. It doesn’t send messages to a specific object; it sends them to the responder chain, which is a list of related objects that may decide to handle an event or may decide to ignore it.
The responder chain is dynamic, and the objects in it can be updated at any time. You don’t usually need to manage the updates yourself—with one exception. The first object in the list is called the first responder, which is synonymous with the object currently “live” for your user.
Some objects don’t work properly if you don’t control their responder status. So your app may need to nominate an object as first responder, specify whether or not an object can become first responder, or tell an object to stop being first responder—which is called resigning first responder.
The first responder is similar to the idea of focus in some other operating systems.
As elsewhere in iOS, the theory of the responder chain is only loosely related to the practice. In practice, you need to know the following:
As explained earlier, some features don’t work unless you include a method that tells iOS that an object can be first responder. There’s no consistency to this; it’s a requirement for some objects, but not ...