An Introduction to Delegates
If you delegate a task to someone else, you essentially appoint that person to perform that task on your behalf while you’re busy doing something else. It’s the handoff, the passed buck, the get-it-out-of-my-inbox move. To delegate successfully, you need to specify who that delegate is and what it is you want that delegate to perform for you.
In the case of the UIApplication
object at launch time, one of its built-in tasks is to hand off the job of
completing the rest of the app’s loading to a class in your project. To
trigger that job, UIApplication sends a
very specific, standardized message to the object appointed as the delegate. It turns
out that UIApplication—in its role as
Central Control—can delegate a variety of jobs. For instance, in addition
to signaling when the app is being started, UIApplication can also signal when the app is
about to quit so the app can preserve its current state to restore the
next time the app launches (code that you would write). Starting with iOS
4, UIApplication signals when an app is
going to be sent to the background and reawakened under Fast App Switching
so your code can suspend and restart ongoing processes (e.g., downloads)
automatically for the user. The
messages UIApplication is designed to
send to its delegate are codified in a protocol named the UIApplicationDelegate protocol.
A class must declare in its header that it is available as a
UIApplication delegate—it is wired to handle delegate messages that ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access