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 ...
Get Learning the iOS 4 SDK for JavaScript Programmers 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.