Table of ContentsIntroduction * Prerequisites * Typographical Conventions * Hardware and Software * How to Use This Book * Learning is not Fun Chapter 1: Simple iPhone Application * Creating an Xcode Project * Using Interface Builder * Model-View-Controller * Declarations * Declaring instance variables * Declaring methods * Making Connections * Setting pointers * Setting targets and actions * Summary * Implementing Methods * Event-driven Programming * Deploying an Application * Application Icons * Default Images Chapter 2: Objective-C * Objects * Instances * Creating an instance * Sending messages * Destroying an instance * Writing the RandomPossessions Tool * NSArray and NSMutableArray * Subclassing an Objective-C Class * Instance variables * Accessors and properties * Instance methods * Initializers * self * super * Initializer chain * Class methods * Exceptions and the Console Window * Objective-C 20 Additions Chapter 3: Memory Management * Memory Management Concepts * Managing memory in C * Objects and memory management * Reference Counting * Using retain counts * Avoiding memory leaks with autorelease * Managing memory in accessors and properties * Retain count rules * Managing Memory in RandomPossessions Chapter 4: Delegation and Core Location * Delegation * Beginning the Whereami Application * Using frameworks * Core Location Service * Receiving Updates from CLLocationManager * For the More Curious: Compiler and Linker Errors * For the More Curious: Protocols * Challenge: Heading Chapter 5: MapKit and UITextField * Object Diagrams * MapKit Framework * Interface Properties * Being a MapView Delegate * Your Own MKAnnotation * Tagging Locations * Renaming an Application * Challenge: Annotation Extras * Challenge: Reverse Geocoding Chapter 6: Subclassing UIView * Creating a Custom View * The drawRect: Method * Instantiating a UIView * Drawing Text and Shadows * Using UIScrollView * Zooming * Hiding the Status Bar * For the More Curious: Retain Cycles * For the More Curious: Redrawing Views * Challenge: Colors Chapter 7: View Controllers * Using View Controllers * Creating the UITabBarController * Creating View Controllers and Tab Bar Items * Creating Views for the View Controllers * viewWillAppear: * The Lifecycle of a View Controller * For the More Curious: Paging * Challenge: Map Tab Chapter 8: The Accelerometer * Setting Up the Accelerometer * Getting Accelerometer Data * Orientation and Scale of Acceleration * Using Accelerometer Data * Smoothing Accelerometer Data * Detecting Shakes * Challenge: Changing Colors Chapter 9: Notification and Rotation * Notification Center * UIDevice Notifications * Autorotation * Forcing Landscape Mode * For the More Curious: Overriding Autorotation * Challenge: Proximity Notifications Chapter 10: UITableView and UITableViewController * Beginning the Homepwner Application * UITableViewController * Subclassing UITableViewController * UITableView's Data Source * UITableViewDataSource protocol * UITableViewCells * Reusing UITableViewCells * Next Steps for Homepwner * Challenge: Sections Chapter 11: Editing UITableViews * Editing a UITableView * Begin and End Editing * Deleting Rows * Moving Rows * Inserting Rows Chapter 12: UINavigationController * UINavigationController * UINavigationBar * An Additional UIViewController * The XIB File and File's Owner * Setting Up ItemDetailViewController * Navigating with UINavigationController * Appearing and Disappearing Views * Challenge: Number Pad Chapter 13: Camera * ImageCache: a Singleton * NSDictionary * Singletons * UIImageView * Giving Possessions an Image * UUIDs * Dismissing the Keyboard * Challenge: Removing an Image Chapter 14: Saving and Loading * Application Sandbox * Archiving * Writing Other Data to Disk * More on Reading and Writing to Disk * Challenge: Archiving Wherewasi Chapter 15: Low Memory Warning * Low Memory Warning * Handling Low Memory Warnings * Be Careful * Simulating Low Memory Warnings Chapter 16: UITableViewCell * Subclassing UITableViewCell * Image Manipulation * Archiving the Thumbnail Data * Challenge: Accessory Views * Challenge: Making it Pretty Chapter 17: Multi-Touch * Create a Drawing Program * Touch Events * The Responder Chain * Instruments * The ObjectAlloc Instrument * The Sampler Instrument * For the More Curious: UIControl * For the More Curious: Touch Dependancy * Challenge: Saving and Loading * Challenge: Circles Chapter 18: CALayer * Creating a CALayer * Layer Content * Implicitly Animatable Properties * For the More Curious: Programmatically Generating Content * For the More Curious: Layers and Views * Challenge: Dynamic Layer Content Chapter 19: CAAnimation * Spinning the Time with CABasicAnimation * Timing Functions * CAKeyframeAnimation * For the More Curious: Presentation and Model Layers * Challenge: More Animation Chapter 20: Media * The MediaPlayer Application * Playing System Sounds * Playing Audio Files * Playing Movie Files * Low-level APIs * Challenge: Audio Recording Chapter 21: Web Services * The RandomNumbers Application * Fetching data from a URL * Parsing XML * For the more curious: The Request Body * For the more curious: Credentials * Challenge: Cancel Fetch Chapter 22: Address Book * The People Picker * Additions to Possession Class * Address Book Functions * For the More Curious: That Other Delegate Method Chapter 23: Localization * Internationalizing Homepwner * NSLocale * Localized Resources * Strings Tables * For the More Curious: NSBundle Chapter 24: Bonjour * Publishing a Service * Browsing for Services * TXT Record * For the More Curious: Socket Connections Chapter 25: Settings * Settings Bundle * NSUserDefaults * Registering Defaults * Using the defaults Chapter 26: SQLite * What Am I doing? * The Interface * Making the database * Fetching * Making and Using the Tree * Challenge: Fetching more Data Chapter 27: Core Data * Inventory * Edit the Model File * AppController * LabelSettingViewController * LocationListViewController * AssetListViewController * CountViewController * How it Works * Trade-offs of Persistence Mechanisms * Challenge: Deleting Chapter 28: OpenGL ES * Setting up an OpenGL ES Project * Creating an OpenGL ES Capable View * Creating the EAGLContext * Frame and Render Buffers * Creating the Timer * The Rendering Method * The Rendering Controller * Rendering Shapes in OpenGL ES * Start and Stop Animation About the AuthorJoe Conway, iPhone instructor for The Big Nerd Ranch, has been writing software on the Mac platform since he was a teenager, and began consulting and training for The Big Nerd Ranch shortly after graduating from the University of Wisconsin. Aaron Hillegass, CEO of Big Nerd Ranch, has more than 18 years of experience as a software engineer and developer trainer. He wrote the Big Nerd Ranch course on Cocoa, drawing from his experiences working at Apple and NeXT as senior trainer and curriculum developer. He is author of Cocoa Programming for Mac OS X (Addison-Wesley), the definitive guide to Cocoa programming. |
| Publisher: | Addison-Wesley Educational Publishers Inc |
| ISBN: | 0321706242 |
| EAN: | 9780321706249 |
| Dimensions: | 25.35 x 18.14 x 2.62 centimeters (0.45 kg) |
| Age Range: |
15+ years |