Intr oduction
xvi
design pattern of delegation and working with protocols, frameworks, object diagrams, and the Apple
documentation.
Chapters 6 and 7 focus on the iOS user interface with the Hypnosister and HypnoTime applications.
You will get lots of practice working with views and view controllers as well as implementing
scrolling, zooming, and navigating between screens using a tab bar.
Chapter 8 covers the accelerometer. You will learn how to obtain, filter, and use the data from the
accelerometer to handle motion events, including shakes. You will use accelerometer data to add a new
feature to the HypnoTime application.
In Chapter 9, you will create a smaller application named HeavyRotation while learning about
notifications and how to implement autorotation in an application. You will also use autoresizing to
make HeavyRotation iPad-friendly.
Chapter 10 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 nine chapters
total to complete.
In Chapters 10, 11, and 16, you will build experience displaying lists of information. 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 12 builds on the navigation experience gained in Chapter 7. You will learn how to use
UINavigationController, and you will give Homepwner a drill-down interface and a navigation bar.
In Chapter 13, you’ll learn how to take pictures with the camera and how to display and store images
in Homepwner. You’ll use NSDictionary and UIImagePickerController.
In Chapter 14, you’ll learn about UIPopoverController for the iPad and modal view controllers. In
addition, you will make Homepwner a universal application – an application that runs natively on both
the iPhone and the iPad.
Chapter 15 delves into ways to save and load data. In particular, you will archive data in the
Homepwner application using the NSCoding protocol. The chapter also shows you how to work with
multitasking and transitions between application states, such as active, background, and suspended.
Chapter 17 is an introduction to Core Data. You will change the Homepwner application to store and
load its data using an NSManagedObjectContext.
Chapter 18 introduces the concepts and techniques of internationalization and localization. You will
learn about NSLocale, strings tables, and NSBundle as you localize Homepwner. This chapter will
complete the Homepwner app.
In Chapter 19, you will use NSUserDefaults to save user preferences in a persistent manner.
In Chapter 20, you’ll create a drawing application named TouchTracker. You’ll learn how to add multi-
touch capability and more about touch events. You’ll also get experience with the first responder and
responder chain concepts and more practice with NSDictionary.
In Chapter 21, You’ll learn about the Instruments application while debugging performance and
memory issues in TouchTracker. It will also discuss Xcode schemes and the static analyzer.
Chapters 22 and 23 introduce layers and the Core Animation framework with a brief return to the
HypnoTime application to implement animations. You will learn about implicit animations and
animation objects, like CABasicAnimation and CAKeyframeAnimation.