Introduction
xvi
between screens using a tab bar. You will also get plenty of experience with the important design
pattern of delegation as well as working with protocols, the debugger, and setting up local notifications.
Chapter 8 introduces the largest application in the book – Homepwner. (By the way, “Homepwner”
is not a typo; you can find the definition of “pwn” at www.urbandictionary.com.) This application
keeps a record of your possessions in case of fire or other catastrophe. Homepwner will take fourteen
chapters to complete.
In Chapters 8, 9, and 19, you will build experience with tables. You will learn about table views, their
view controllers, and their data sources. You will learn how to display data in a table, how to allow the
user to edit the table, and how to improve the interface.
Chapter 10 builds on the navigation experience gained in Chapter 6. You will learn how to use
UINavigationController and you will give Homepwner a drill-down interface and a navigation bar.
In Chapter 11, you will learn how to take pictures with the camera and how to display and store images
in Homepwner. You will use NSDictionary and UIImagePickerController.
In Chapters 12 and 13, you will set Homepwner aside for a bit to create a drawing application named
TouchTracker to learn about touch events. You will see how to add multi-touch capability and how to
use UIGestureRecognizer to respond to particular gestures. You will also get experience with the first
responder and responder chain concepts and more practice with NSDictionary.
In Chapter 14, you will learn how to use debug gauges, Instruments, and the static analyzer to optimize
the performance of TouchTracker.
In Chapters 15 and 16, you will make Homepwner a universal application – an application that runs
natively on both the iPhone and the iPad. You will also work with Auto Layout to build an interface
that will appear correctly on any screen size.
In Chapter 17, you will learn about handling rotation and using UIPopoverController for the iPad and
modal view controllers.
Chapter 18 delves into ways to save and load data. In particular, you will archive data in the
Homepwner application.
In Chapter 20, you will update Homepwner to use Dynamic Type to support different font sizes that a
user may prefer.
Chapter 21 takes another break from Homepwner and introduces web services as you create
the Nerdfeed application. This application fetches and parses an RSS feed from a server using
NSURLConnection and NSXMLParser. Nerdfeed will also display a web page in a UIWebView.
In Chapter 22, you will learn about UISplitViewController and add a split view user interface to
Nerdfeed to take advantage of the iPad’s larger screen size.
Chapter 23 returns to the Homepwner application with an introduction to Core Data. You will change
Homepwner to store and load its data using an NSManagedObjectContext.
In Chapter 24, you will add state restoration to Homepwner to let users return to the application right
where they left off – no matter how long they are away.
Chapter 25 introduces the concepts and techniques of internationalization and localization. You will
learn about NSLocale, strings tables, and NSBundle as you localize parts of Homepwner.
In Chapter 26, you will use NSUserDefaults to save user preferences in a persistent manner. This
chapter will complete the Homepwner application.