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

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset