CITATION

Brannan, James and Ward, Blake. iOS SDK Programming A Beginners Guide. US: McGraw-Hill Osborne Media, 2011.

iOS SDK Programming A Beginners Guide

Published:  January 2011

eISBN: 9780071759090 0071759093 | ISBN: 9780071759083
  • Contents
  • Acknowledgments
  • Introduction
  • 1 The iOS Software Development Kit (SDK)
  • The App Store
  • The Software Development Kit (SDK)
  • Paid Membership
  • Objective-C, Foundation Framework, Cocoa Touch, and UIKit
  • Cocoa Touch
  • Foundation Framework
  • The iOS Frameworks
  • Memory and Processor Speed
  • Small Screen
  • Security
  • Short-Lived Applications
  • Manual Memory Management
  • Relevant Documentation
  • Try This: Getting a Quick Start on iOS Development
  • Summary
  • 2 A C Refresher
  • C Command-Line Programs
  • Try This: Creating a Simple C Program Using Xcode
  • C Comments
  • Understanding Headers, Import, and Include
  • Try This: Creating a Header File
  • Preprocessor Statements
  • Try This: Using Preprocessor Statements
  • Data Types and Operators
  • Control, Functions, and Conditional Statements
  • Arrays and Structures
  • Functions
  • The printf Statement
  • Pointers
  • Try This: Using Pointers
  • Dereferencing a Pointer
  • Pointers and Arrays
  • Try This: Using an Array with Pointers
  • Summary
  • 3 Just Enough Objective-C: Part One
  • Objective-C Classes and Objects
  • Class Interface and Implementation
  • Try This: Generating an Objective-C Class’ Interface and Implementation
  • The @interface and @implementation Compiler Directives
  • Method Declaration and Definition
  • Try This: Adding SayHello to the Simple Class
  • Interface Anatomy
  • Implementation Anatomy
  • Public, Private, and Protected Instance Variables
  • Understanding Simple Messaging
  • Using self in a Message
  • Nested Arguments
  • Class and Instance Methods
  • Try This: Adding sayGoodBye as a Class Method
  • The alloc and init Methods
  • Managing Memory Using Retain and Release
  • Try This: Using Manual Memory Management
  • Instance Variables and Memory
  • Managing Memory Using Autorelease
  • Summary
  • 4 Just Enough Objective-C: Part Two
  • Properties
  • Retain
  • Assign
  • Copy
  • Releasing Properties
  • Multiple-Argument Messages
  • Try This: Creating a Simple Multiple-Argument Message
  • Understanding the id Variable Type, Dynamic Typing, and Dynamic Binding
  • The id Type
  • Dynamic Binding and Dynamic Typing
  • Understanding Inheritance
  • Overriding Methods
  • Overloading Methods
  • Using Categories
  • Using Protocols
  • Handling Exceptions
  • Summary
  • 5 Deploying to an iPhone, Debugging, and Testing
  • Installing Applications on an iPhone
  • Membership
  • Certificates, Devices, Application IDs, and Provisioning
  • Try This: Deploying an Application to iPhone
  • Debugging
  • Using the Debugger
  • Try This: Debugging an Application
  • NSZombieEnabled
  • Try This: Enabling Zombies
  • Instruments—Leaks
  • Try This: Find a Memory Leak
  • Distributing Your Application
  • Ad Hoc Deployment and Testing
  • Distributing Your App via the App Store
  • Summary
  • 6 UIApplication and UIApplicationDelegate
  • Try This: Adding a UIView and UIViewController to a UIApplicationDelegate
  • Connecting UIWindow, UIApplication, and UIApplicationDelegate
  • Try This: Exploring Main Window.xib
  • UIApplication and UIApplicationDelegate
  • The main.m File
  • Handling Application Life Cycle Events
  • Application Interruptions
  • Try This: Handling Application Interruptions
  • Summary
  • 7 UIView and UIViewController
  • The UIView Class
  • The UIViewController Class
  • View-Based Application Template
  • IBOutlet and IBAction
  • Try This: Using a View-Based Application Template
  • Try This: Using a Window-Based Application Template
  • UIViewController and Application Life Cycle Events
  • Try This: Exploring Several Life Cycle Methods
  • Summary
  • 8 UITabBar and UITabBarController
  • UITabBar, UITabBarController, UITabBarItem, and UITabBarControllerDelegate
  • Try This: Using the Tab Bar Application Template
  • Try This: Adding a Tab Bar Item to a Tab Bar Application
  • Try This: Creating a Tab Bar Application from Scratch
  • Try This: Allowing Users to Customize a Tab Bar
  • Summary
  • 9 UINavigationBar and UINavigationController
  • UINavigationBar, UINavigationController, and UINavigationItem
  • Try This: Building a Three-View Application Using a Navigation Bar
  • Adding Another View
  • Try This: See How a Utility Application Uses NavigationBar
  • More on the UINavigationController
  • Popping View Controllers
  • Configuring the Navigation Bar
  • Try This: Using a Navigation Controller in a Tab
  • Summary
  • 10 Tables Using UITableView and UITableViewController
  • UITableView
  • UITableViewDelegate and UITableViewDataSource
  • UITableViewDelegate
  • UITableViewDataSource
  • Try This: Adopting the UITableViewDelegate and UITableViewDataSource
  • Try This: Adding a Delegate and Data Source
  • UITableViewController
  • Try This: Using a UITableViewController
  • Grouping and Indexing
  • Grouped Table Style
  • Try This: Grouping
  • Indexing
  • Try This: Indexing
  • Images in Tables
  • Try This: Adding an Image
  • Selecting Rows
  • Try This: Row Selection
  • Changing Row Height
  • Try This: Changing Row Height
  • Accessorizing Table Cells
  • Try This: Accessorizing a Table Cell
  • Customizing a Table Cell
  • Try This: Customizing a Cell Using Interface Builder
  • Using Tables with Navigation Bars and Tabs
  • Try This: Using a Table in a Navigation Controller in a Tab
  • Editing Table Cells
  • Getting to Edit Mode
  • Edit Mode Methods
  • Try This: Editing Rows
  • Summary
  • 11 Activity Progress and Alerting Users
  • Showing Activity—the UIActivityIndicatorView
  • Try This: Using a UIActivitylndicatorView
  • Showing Progress—the UIProgressView
  • Try This: Using a UIProgress View
  • Alerting Users
  • UIAlertView and UIAlertViewDelegate
  • Try This: Creating a Simple UIAlertView
  • Try This: Using an Alert with Multiple Buttons
  • UIActionSheet and UIActionSheetDelegate
  • Try This: Using a UIActionSheet
  • Application Badges
  • Try This: Adding an Application Badge
  • Summary
  • 12 Controls—Part One: Using Buttons, Sliders, Switches, and Text Fields
  • Buttons
  • UIButton with a Background Image and Image
  • Try This: Using a Custom Button Background Image and Image
  • Button Types
  • UIToolBar
  • Try This: Creating a UIToolbar
  • UISwitch
  • UISlider
  • Appearance
  • Values
  • Continuous Property
  • Try This: Using a Switch and a Slider
  • UITextField
  • Try This: Using UITextField (with a Number Pad)
  • UITextView
  • UISegmentedControl
  • Try This: Using a UISegmentedControl
  • The Web View
  • UIWebView
  • UIWebViewDelegate
  • Try This: Creating a Simple Web Browser
  • Summary
  • 13 Controls—Part Two: Using Pickers and Using the Camera
  • Using Pickers: Date Pickers and Pickers
  • Date Pickers
  • Try This: Using a Date Picker
  • Try This: Using a UIDatePicker in Timer Mode
  • UIPickerView
  • Try This: Using a Picker
  • Try This: Using a UIPickerView with Two Components
  • Try This: Loading UIImageViews into a UIPickerView
  • Using the Camera: UIImagePickerController
  • UIImagePickerController
  • UIImagePickerControllerDelegate
  • Try This: Using the UIImagePickerController
  • Try This: Using Notifications
  • Summary
  • 14 Application Settings
  • The Settings Application
  • The Settings Bundle
  • Try This: Creating a Settings Bundle
  • Settings Field Types
  • Try This: Adding a PSTextFieldSpecifier
  • PSMultiValueSpecifier
  • Try This: Adding a PSMultiValueSpecifier
  • PSToggleSwitchSpecifier
  • Try This: Adding a PSToggleSwitchSpecifier
  • PSSliderSpecifier
  • Try This: Adding a PSSliderSpecifier
  • PSChildPaneSpecifier
  • Try This: Adding a PSChildPaneSpecifier
  • Reading Settings Using NSUserDefaults
  • Try This: Reading the Settings Bundle
  • Changed Settings While Suspended
  • Summary
  • 15 Property Lists and Archiving
  • An iOS Application’s Directory Structure
  • Directories
  • Property Lists
  • Simple Serialization
  • Try This: Preserving an NSArray
  • NSPropertyListSerialization
  • Try This: Preserving to an XML Property List
  • Archiving
  • Protocols to Adopt
  • NSKeyedArchiver and NSKeyedUnarchiver
  • Try This: Archiving and Unarchiving an Object
  • Try This: Archiving and Unarchiving an Object Hierarchy
  • Multitasking and Saving Application State
  • Summary
  • 16 Data Persistence Using SQLite
  • Adding a SQLite Database
  • Try This: Creating a Simple Database Using FireFox SQLite Manager
  • Basic SQLite Database Manipulation
  • Opening the Database
  • Statements, Preparing Statements, and Executing Statements
  • Select
  • Try This: Opening and Querying a Database
  • SQLite Binding, Inserting, Updating, and Deleting
  • Try This: Inserting, Updating, and Deleting Records
  • Try This: Inserting Records
  • Try This: Updating Records
  • Try This: Deleting Records
  • Summary
  • 17 Core Data
  • Core Data in Brief
  • Creating a Model
  • Entities
  • Attributes
  • Relationships
  • Try This: Adding Entities and Relationships to a Core Data Model
  • Model, Context, and Store
  • NSManagedObjectModel
  • NSPersistentStoreCoordinator
  • NSManagedObjectContext
  • NSManagedObject
  • NSFetchedResultsController
  • NSFetchRequest
  • NSPredicate
  • NSSortDescriptor
  • Try This: Fetching All AKCGroup Entities
  • Adding Objects
  • Saving Changes
  • Deleting Entities
  • Updating Entities
  • Try This: Adding Navigation and AKCGroup Editing
  • Navigation
  • Try This: Adding Navigation and Editing for a List of Breeds
  • Try This: Adding a Breed Detail View
  • Distributing Core Data with Your App
  • What Next?
  • Summary
  • 18 Multimedia
  • Playing Sounds
  • AudioServicesPlaySystemSound
  • AVAudioPlayer and AVAudioPlayerDelegate
  • Try This: Playing a Sound and an MP3
  • Media Player Framework
  • Media Data Classes
  • Selecting Multimedia
  • Playing Multimedia: MPMusicPlayerController
  • Try This: Using the Media Picker and Media Player
  • MPMoviePlayerController
  • Try This: Play a Video
  • Summary
  • 19 Universal Applications for the iPad
  • Creating a Universal Application
  • Try This: Building an App for iPad and iPhone
  • Handling Orientation Changes
  • Try This: Reacting to Orientation Changes
  • Icons and Default Screens
  • Split Views
  • Try This: Add a Split View
  • Other iPad Features
  • Using Popovers for Information or Editing
  • Movies in a View
  • Try This: MoviePlayer Centered on the iPad Screen
  • External Display
  • Working with Documents
  • Summary
  • Index