Skip to Content
iPhone App Development: The Missing Manual
book

iPhone App Development: The Missing Manual

by Craig Hockenberry
May 2010
Beginner
352 pages
9h 44m
English
O'Reilly Media, Inc.
Content preview from iPhone App Development: The Missing Manual

Delegation and Data Sources

Have you ever needed to perform a task and had no idea how to do it? Maybe it's fixing a dishwasher or knitting a pair of socks. You can either learn to do it yourself, or find someone to help you with the parts you don't understand.

Cocoa Touch has a design pattern called delegation that lets your application help out system classes that don't know what you want to do. The way it works is simple: You introduce one object to another object that's able to answer any questions. By assigning a delegate, you provide hooks into code that can respond to requests and state changes.

If your object is willing to be a delegate, it needs to follow a protocol. As you saw on Follow the protocol, the protocol is like a contract. Many of the methods in that contract will be optional, but others will be required.

This pattern is used extensively throughout Cocoa. If you type delegate into the documentation viewer, you'll get back over 100 results. You can tell which classes support delegation, because they have a delegate property. The actual protocols for delegation are usually suffixed with Delegate.

The best way to see what this looks like in practice is by checking out one of the classes that uses delegation: the UIPickerView control that selects values from a scrolling list (Figure 3-2).

The standard picker view for Cocoa Touch. The values that are displayed come from a delegate and a data source.

Figure 3-2. The standard picker view for Cocoa Touch. The values that are displayed ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Beginning iPhone Development with SwiftUI: Exploring the iOS SDK

Beginning iPhone Development with SwiftUI: Exploring the iOS SDK

Wally Wang

Publisher Resources

ISBN: 9780596809997Errata Page