Home > Store > Home & Office Computing > Entertainment/Gaming/Gadgets

larger cover

Add To My Wish List

Register your product to gain access to bonus material or receive a coupon.

iPhone Programming: The Big Nerd Ranch Guide

Book

  • This product currently is not for sale.
Not for Sale
  • Description
  • Extras
  • Sample Content
  • Updates
  • Copyright 2010
  • Dimensions: 7 X 10
  • Pages: 480
  • Edition: 1st
  • Book
  • ISBN-10: 0-321-70624-2
  • ISBN-13: 978-0-321-70624-9

Based on Big Nerd Ranch’s popular iPhone Bootcamp class, iPhone Programming: The Big Nerd Ranch Guide leads you through the essential tools and techniques for developing applications for the iPhone, iPad, and iPod Touch. In each chapter, you will learn programming concepts and apply them immediately as you build an application or enhance one from a previous chapter. These applications have been carefully designed and tested to teach the associated concepts and to provide practice working with the standard development tools Xcode, Interface Builder, and Instruments. The guide’s learn-while-doing approach delivers the practical knowledge and experience you need to design and build real-world applications. Here are some of the topics covered:

  • Dynamic interfaces with animation
  • Using the camera and photo library
  • User location and mapping services
  • Accessing accelerometer data
  • Handling multi-touch gestures
  • Navigation and tabbed applications
  • Tables and creating custom rows
  • Multiple ways of storing and loading data: archiving, Core Data, SQLite
  • Communicating with web services
  • ALocalization/Internationalization
"After many 'false starts' with other iPhone development books, these clear and concise tutorials made the concepts gel for me. This book is a definite must have for any budding iPhone developer." –Peter Watling, New Zealand, Developer of BubbleWrap

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

Table of Contents

Introduction

  • 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

 

FREE

ONE MONTH ACCESS!

WITH PURCHASE


Get unlimited 30-day access to thousands of Books & Training Videos about technology, professional development and digital media If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months.