Index

A B C D E F G H I J K L M N O P Q R S T U V W X Z

A

accelerometer, The Accelerometer
accelerometer:didAccelerate:, Setting Up the Accelerometer, Getting Accelerometer Data, Using Accelerometer Data
accessor methods, Accessor methods, Accessors and memory management
accessory indicator (of UITableViewCell), UITableViewCells
action methods, Setting targets and actions, For the More Curious: UIControl
active state, Application States, Transitions, and Multitasking, Accessing data in notifications
addAnimation:forKey:, Spinning with CABasicAnimation
addObject:, Sending messages, Writing the RandomPossessions Tool, NSArray and NSMutableArray
addSubview:, Instantiating a UIView
alloc, Creating objects, Managing memory with objects
allocation, Managing memory in C
Allocations instrument, The Allocations Instrument
analyzing (code), The Static Analyzer
angled brackets, Putting the pieces together
animation transactions, Implicitly Animatable Properties
animationDidStop:finished:, Animation completion
animations

(see also CALayer , layers )

CABasicAnimation, Animation Objects, Spinning with CABasicAnimation, For the More Curious: The Presentation Layer and the Model Layer

CAKeyframeAnimation, Animation Objects, Bouncing with a CAKeyframeAnimation

choosing, Spinning with CABasicAnimation

classes of, Core Animation Layer, Animation Objects

and data types, Animation Objects

identity matrices in, Bouncing with a CAKeyframeAnimation

implicit, Implicitly Animatable Properties

key paths of, Animation Objects, Spinning with CABasicAnimation

keyframes in, Animation Objects

keys for, Spinning with CABasicAnimation

reusing, Spinning with CABasicAnimation

timing functions of, Timing functions


animationWithKeyPath:, Spinning with CABasicAnimation
anonymous functions (see blocks )
anti-aliasing, For the More Curious: Retina Display
API Reference, Using the documentation
APIs

(see also frameworks )

Core Animation, Core Animation Layer, Layer Content, Animation Objects

Core Audio, Low-level APIs

Core Foundation, Creating and using keys

Core Video, Low-level APIs

private, More About SQL


App ID, Deploying an Application
Apple documentation, Using the documentation
application bundle, Application Sandbox, For the More Curious: The Application Bundle, For the More Curious: NSBundle’s Role in Internationalization, Registering system sounds, Preloading video
application delegate, Building Interfaces, Model-View-Controller, Making Connections
application dock, Application States, Transitions, and Multitasking
application domain, NSUserDefaults
application sandbox, Saving, Loading, and Multitasking, For the More Curious: The Application Bundle
application states, Application States, Transitions, and Multitasking, For The More Curious: Application State Transitions, Background Processes
application:didReceiveRemoteNotification:, Accessing data in notifications
applicationDidBecomeActive:, For The More Curious: Application State Transitions
applicationDidEnterBackground:, Application States, Transitions, and Multitasking, For The More Curious: Application State Transitions
applications

(see also UIApplication )

allowing orientations, Forcing Landscape Mode

build settings for, Build Settings

building, Build and Run on the Simulator, Projects, targets, and frameworks, For the More Curious: Build Phases, Compiler Errors, and Linker Errors, Localizing Resources

cleaning, Localizing Resources

data storage, Application Sandbox

data storage options, Trade-offs of Persistence Mechanisms

debugging (see debugging )

deploying, Deploying an Application

directories in, Application Sandbox

icons for, Application Icons

launch images for, Launch Images

profiling, The Allocations Instrument

and run loop, Using autorelease

running on simulator, Build and Run on the Simulator

size limits, Preloading video

templates for, Projects, targets, and frameworks

universal, Autorotation (see universal applications )

user preferences in, Settings


applicationWillEnterForeground:, For The More Curious: Application State Transitions
applicationWillResignActive:, For The More Curious: Application State Transitions
applicationWillTerminate:, Application States, Transitions, and Multitasking, Guidelines for background execution
aps container, Providing data to the notification server
archiveRootObject:toFile:, Archiving objects
archiving

applicationDidEnterBackground:, Application States, Transitions, and Multitasking

described, Archiving

keyed, Archiving objects

root object, Archiving objects

thumbnail images, Image Manipulation

unarchiving, Unarchiving objects

vs. Core Data, Core Data, Moving Homepwner to Core Data

when to use, Trade-offs of Persistence Mechanisms


arguments, Sending messages
arrays

archiving, Archiving objects

and blocks, Using blocks with other built-in methods, For the More Curious: Memory Management and Blocks

fast enumeration of, Fast Enumeration

memory management of, Using autorelease

overview, NSArray and NSMutableArray

vs. dictionaries, NSDictionary

writing to filesystem, For the More Curious: Reading and Writing to the filesystem


assistant editor, An Additional UIViewController, Taking pictures and UIImagePickerController
attributes (Core Data), The model file, NSManagedObject and subclasses
attributes inspector, Building Interfaces, Interface Properties
audio

in background, Background Processes

compression, System Sounds, Compressed Audio Files

file formats, System Sounds, Compressed Audio Files

handling interruptions, Compressed Audio Files

low-level APIs, Low-level APIs

playing, System Sounds

recording, Challenge: Audio Recording

session categories, Background Processes

system sounds, System Sounds


AudioServicesCreateSystemSoundID, Registering system sounds
AudioToolbox, System Sounds, Low-level APIs
autorelease, Using autorelease
autoresize masks, Autorotation, Setting autoresizing masks programmatically and bitwise operations
autorotation, Autorotation, Splitting Up Nerdfeed
availableMediaTypesForSourceType:, For the More Curious: Recording Video
AVAudioPlayer, Compressed Audio Files
AVAudioPlayerDelegate, Compressed Audio Files
AVAudioRecorder, Challenge: Audio Recording
AVAudioSession, Background Processes
AVFoundation, Compressed Audio Files
awakeFromFetch, NSManagedObject and subclasses
awakeFromInsert, NSManagedObject and subclasses

B

background (application state)

transitions, For The More Curious: Application State Transitions


background state, Application States, Transitions, and Multitasking

execution in, Background Processes

general guidelines for, Guidelines for background execution

location updates, Other forms of background execution

and low-memory warnings, Guidelines for background execution

playing audio in, Background Processes

transitions, Application States, Transitions, and Multitasking, Background Processes, Guidelines for background execution, Other forms of background execution

and VOIP, Other forms of background execution


badges, Registering for notifications, Sounds and badges
battery life, conserving, Setting Up the Accelerometer
becomeFirstResponder, Detecting Shakes
beginBackgroundTaskWithExpirationHandler:, Other forms of background execution
big-endian, Byte ordering
binary numbers, Setting autoresizing masks programmatically and bitwise operations
bitmap contexts, For the More Curious: Layers, Bitmaps, and Contexts
bitwise operators, Setting autoresizing masks programmatically and bitwise operations
__block, For the More Curious: Memory Management and Blocks
blocks

as approach to callbacks, For the More Curious: Pros and Cons of Callback Options

as arguments, Using blocks with other built-in methods

and memory management, For the More Curious: Memory Management and Blocks

and notifications, Keeping code compact with blocks

reasons to use, Blocks and Categories, Blocks as variables, For the More Curious: Pros and Cons of Callback Options

stack-based vs. heap-based, For the More Curious: Memory Management and Blocks

syntax of, Blocks as variables

using external variables in, Capturing variables

as variables, Blocks as variables


Bonjour

browsing for services, Browsing for services via Bonjour

described, Bonjour, Publishing a Bonjour service

publishing a service, Publishing a Bonjour service

resolving services, Browsing for services via Bonjour

TXT records, For the More Curious: TXTRecords


braces, Subclassing an Objective-C Class
brackets, Putting the pieces together
breakpoint navigator, Using the Debugger
breakpoints, Using the Debugger
build configurations, Build Settings
build phases, For the More Curious: Build Phases, Compiler Errors, and Linker Errors
build settings, Build Settings
bundles

application, Application Sandbox, For the More Curious: The Application Bundle, For the More Curious: NSBundle’s Role in Internationalization, Preloading video

identifier, Deploying an Application

NSBundle, For the More Curious: NSBundle’s Role in Internationalization


byte ordering, Byte ordering

C

CAAnimation, Core Animation Layer

(see also animations )


CAAnimationGroup, Animation Objects
CABasicAnimation, Animation Objects, Spinning with CABasicAnimation
CAKeyframeAnimation, Animation Objects, Bouncing with a CAKeyframeAnimation
CALayer

(see also animations , layers )

addAnimation:forKey:, Spinning with CABasicAnimation

animatable properties of, Implicitly Animatable Properties

bitmap context for, For the More Curious: Layers, Bitmaps, and Contexts

contents, Layer Content

creating, Creating a CALayer

delegate, For the More Curious: Programmatically Generating Content

described, Core Animation Layer

designated initializer, Creating a CALayer

drawInContext:, For the More Curious: Programmatically Generating Content

presentationLayer, For the More Curious: The Presentation Layer and the Model Layer

properties, Creating a CALayer, Animation Objects, Spinning with CABasicAnimation

setPosition:, Implicitly Animatable Properties

subclassing, For the More Curious: Programmatically Generating Content

superlayer, Layer Content

zPosition, Layer Content


callbacks, Delegation, For the More Curious: Pros and Cons of Callback Options
CAMediaTimingFunction, Timing functions
camera

(see also images )

recording video, For the More Curious: Recording Video

taking pictures, Taking pictures and UIImagePickerController


canBecomeFirstResponder, Detecting Shakes
CAPropertyAnimation, Animation Objects
categories

for private methods, Categories, Displaying the Master View Controller in Portrait Mode

syntax of, Categories

vs. subclassing, Categories


CATransaction, Implicitly Animatable Properties
CATransform3DIdentity, Bouncing with a CAKeyframeAnimation
CATransition, Animation Objects
cells (see table view cells , UITableViewCell )
CFReadStreamRef, Using NSStream
CFRelease, Creating and using keys
CFStreamCreatePairWithSocketToHost, Using NSStream
CFStringRef, Creating and using keys
CFUUIDCreate, Creating and using keys
CFUUIDCreateString, Creating and using keys
CFUUIDRef, Creating and using keys
CFWriteStreamRef, Using NSStream
CGBitmapContextCreate, For the More Curious: Layers, Bitmaps, and Contexts
CGContextRef

drawing to, Image Manipulation

inside drawRect:, The drawRect: method, Drawing Text and Shadows

and layers, For the More Curious: Layers, Bitmaps, and Contexts


CGImage, Layer Content
CGPoint, The drawRect: method, Animation Objects
CGRect, The drawRect: method
CGSize, The drawRect: method, Image Manipulation
@class, Instantiating a UIView
class extensions, Categories
class methods, Class methods
classes

(see also individual class names)

allocating from heap, Memory Management Basics, Managing memory with objects

creating, Subclassing an Objective-C Class

inheritance of, Subclassing an Objective-C Class

name prefixes for, Core Location

overview, Objects

properties (see properties )

reusing, Subclassing UITableViewController

size in memory, For the More Curious: More on Memory Management

subclassing, Subclassing an Objective-C Class

superclasses, Subclassing an Objective-C Class, super


CLLocation, Receiving updates from CLLocationManager
CLLocationManager, Core Location, Other forms of background execution
CLLocationManagerDelegate, Protocols
closures (see blocks )
_cmd, For The More Curious: Application State Transitions
Cocoa Touch, Projects, targets, and frameworks

in Cocoa Touch, Projects, targets, and frameworks


code snippet library, Code Snippet Library
command-line tool, Writing the RandomPossessions Tool
compile-time errors, Exceptions and the Console Window, Compiling
compiling, Compiling
connection:didFailWithError:, Working with NSURLConnection
connection:didReceiveData:, Working with NSURLConnection
connectionDidFinishLoading:, Working with NSURLConnection
connections inspector, Summary of connections
console, Build and Run on the Simulator, Writing the RandomPossessions Tool
contentMode (UIImageView), Displaying Images and UIImageView
contentView (UITableViewCell), UITableViewCells, Creating HomepwnerItemCell
contentViewController (UIPopoverController), UIPopoverController
controller objects

(see also view controllers )

and dealloc, Delegation, controllers, and memory management

defined, Model-View-Controller

as delegates, Delegation, controllers, and memory management

and store objects, Model-View-Controller-Store Design Pattern


convenience methods, Class methods, Using autorelease, Retain count rules
coordinate (MKAnnotation), Using the documentation, Your own MKAnnotation
copy, copy and mutableCopy
Core Animation, Layer Content, Animation Objects

(see also animations , CALayer )


Core Audio, Low-level APIs
Core Data

attributes, The model file

entities, The model file, Adding AssetTypes to Homepwner

faults, More About SQL

fetch requests, Updating PossessionStore, More About SQL

fetched property, More About SQL

lazy fetching, More About SQL

logging SQL commands, More About SQL

model file, The model file, Updating PossessionStore

NSManagedObject, NSManagedObject and subclasses

NSManagedObjectContext, Updating PossessionStore

NSManagedObjectModel, Updating PossessionStore

NSPersistentStoreCoordinator, Updating PossessionStore

as ORM, Object-Relational Mapping

relationships, The model file, More About SQL

and SQLite, Object-Relational Mapping, Updating PossessionStore, More About SQL

transient attributes, NSManagedObject and subclasses

versioning, More About SQL, Trade-offs of Persistence Mechanisms

vs. archiving, Core Data, Moving Homepwner to Core Data

when to use, Moving Homepwner to Core Data, Trade-offs of Persistence Mechanisms


Core Foundation, Creating and using keys, Using NSStream
Core Graphics, The drawRect: method, For the More Curious: Retina Display, Image Manipulation, Layer Content, For the More Curious: Programmatically Generating Content
Core Location, Core Location
Core Video, Low-level APIs
count (NSArray), NSArray and NSMutableArray
curly braces, Subclassing an Objective-C Class
currentDevice, Universalizing Homepwner
currentLocale, Internationalization using NSLocale

D

data segment, For the More Curious: More on Memory Management
data source methods, Implementing data source methods
data storage

(see also archiving , Core Data )

for application data, Application Sandbox

binary, Writing to filesystem with NSData, For the More Curious: Reading and Writing to the filesystem

choosing, Trade-offs of Persistence Mechanisms

with I/O functions, For the More Curious: Reading and Writing to the filesystem

for images, Image Manipulation

with NSData, Writing to filesystem with NSData, Image Manipulation


dataSource (UITableView), UITableViewController, UITableView’s Data Source, Implementing data source methods
dealloc

and arrays, Using autorelease

for controller objects, Delegation, controllers, and memory management

for delegates, Delegation, controllers, and memory management

for instance variables, Implementing dealloc

overriding, Implementing dealloc

and retain counts, Managing memory with objects


deallocation

defined, Managing memory in C

premature, Memory Management Basics, Using retain counts


debug area, Build and Run on the Simulator
debug navigator, Using the Debugger
debugger bar, Using the Debugger
debugging

(see also debugging tools )

categorizing log statements, A quick tip on logging

compile-time errors, Compiling

creating schemes for, Creating a new scheme

exceptions, Exceptions and the Console Window

linker errors, Linking

multiple targets, Browsing for services via Bonjour

NSError, For the More Curious: Reading and Writing to the filesystem

stack trace, Using the Debugger

stepping through methods, Using the Debugger


debugging tools

Allocations instrument, The Allocations Instrument

breakpoints, Using the Debugger

debug navigator, Using the Debugger

debugger, Using the Debugger

heapshots, Heapshot Analysis

Instruments, Instruments

issue navigator, Build and Run on the Simulator

Leaks instrument, The Allocations Instrument

log navigator, Writing the RandomPossessions Tool

stack trace, Using the Debugger

static analyzer, The Static Analyzer

Time Profiler, Time Profiler Instrument

variables view, Using the Debugger


declarations

forward, Instantiating a UIView

instance variable, Instance variables

method, Accessor methods, Initializers, Class methods

overview, Subclassing an Objective-C Class

protocol, Protocol methods, Being a MapView Delegate


decodeObjectForKey:, Unarchiving objects
delegate (property), Receiving updates from CLLocationManager, Delegation, controllers, and memory management, Master-Detail Communication

(see also delegation )


delegation

as approach to callbacks, For the More Curious: Pros and Cons of Callback Options

choosing a delegate, Setting Up the Accelerometer

and controller objects, Delegation, controllers, and memory management

creating a delegate protocol, Master-Detail Communication

creating a protocol, Writing a view controller delegate protocol

delegate, Receiving updates from CLLocationManager, Delegation, controllers, and memory management, Master-Detail Communication

and layers, For the More Curious: Programmatically Generating Content

and memory management, Delegation, controllers, and memory management

overview, Delegation

protocols used for, Protocols

swapping delegates, Parsing XML


deleteRowsAtIndexPaths:withRowAnimation:, Deleting Rows
dequeueReusableCellWithIdentifier:, Using the custom cell
description, NSString
description (NSObject), Subclassing an Objective-C Class, Instance methods
designated initializers, Initializers
detail view controllers, Splitting Up Nerdfeed
developer certificates, Deploying an Application
device tokens, Registering for notifications, Getting the token to the provider, Providing data to the notification server
devices

checking for camera, Taking pictures and UIImagePickerController

deploying apps to, Deploying an Application

deploying to, Deploying an Application

determining type of, Universalizing Homepwner

orientation of, Orientation and Scale of Acceleration, UIDevice Notifications, Autorotation

provisioning, Deploying an Application

Retina display, Application Icons


dictionaries

and blocks, For the More Curious: Memory Management and Blocks

described, NSDictionary

memory management of, More on Low-Memory Warnings

using, Creating and using keys

and web server requests, Making service requests

writing to filesystem, For the More Curious: Reading and Writing to the filesystem


didReceiveMemoryWarning, The View Controller Lifecycle and Low-Memory Warnings
directories

application, Application Sandbox

Documents/, Application Sandbox, Constructing a file path

Library/Caches/, Application Sandbox

Library/Preferences/, Application Sandbox

lproj, Localizing Resources, For the More Curious: NSBundle’s Role in Internationalization

temporary, Application Sandbox


dirty rectangle, The drawRect: method
dismissModalViewControllerAnimated:, Dismissing modal view controllers, Modal view controller styles
dismissPopoverAnimated:, UIPopoverController
dock

for applications, Application States, Transitions, and Multitasking

in editor area, Building Interfaces


documentation, using, Using the documentation
Documents/ (directory), Application Sandbox, Constructing a file path
domain, application, NSUserDefaults
domain, registration, NSUserDefaults
dot-notation, Style Choices
drawLayer:inContext: (CALayer), For the More Curious: Programmatically Generating Content
drawRect:, The drawRect: method, Drawing Text and Shadows, For the More Curious: Redrawing Views, Creating HomepwnerItemCell, For the More Curious: Layers, Bitmaps, and Contexts
drill-down interface

with UINavigationController, UINavigationController

with UISplitViewController, UISplitViewController

E

editButtonItem, UINavigationBar
editing (UITableView, UITableViewController), Editing Mode
editor area, Building Interfaces
encodeInt:forKey:, Archiving objects
encodeObject:forKey:, Archiving objects
encodeWithCoder:, Archiving
endEditing:, Appearing and disappearing views, Dismissing the keyboard
entities (Core Data), The model file, Adding AssetTypes to Homepwner
enumerateObjectsUsingBlock: (NSArray), Using blocks with other built-in methods
errors

compile-time, Compiling

connection, Working with NSURLConnection

linker, Linking

and NSError, For the More Curious: Reading and Writing to the filesystem

run-time, Exceptions and the Console Window


event loop, For the More Curious: Redrawing Views
exceptions, Exceptions and the Console Window
explicit layers, For the More Curious: Programmatically Generating Content

(see also CALayer )

F

fast enumeration, Fast Enumeration
faults, More About SQL
fetch requests, Updating PossessionStore, More About SQL
fetched property, More About SQL
file descriptors, Using NSStream
file inspector, Localizing Resources
file paths, retrieving, Constructing a file path
File's Owner, Demystifying the XIB: File's Owner
files

header (.h), Subclassing an Objective-C Class, Your own MKAnnotation

implementation (.m), Accessor methods, Your own MKAnnotation

importing, Accessor methods, Putting the pieces together

including, Accessor methods

intermediate, Preprocessing

library, Linking

object, Compiling

project, Projects, targets, and frameworks


fileURLWithPath:, Registering system sounds
filters (accelerometer data), Smoothing Accelerometer Data, For the More Curious: Filtering and Frequency
first responder

becoming, Detecting Shakes

and nil-targeted actions, For the More Curious: UIControl

overview, Tagging locations

resigning, Appearing and disappearing views, Dismissing the keyboard

and responder chain, The Responder Chain


format string, NSString
forward declarations, Instantiating a UIView
frameworks

adding, Projects, targets, and frameworks, Core Animation Layer

AudioToolbox, System Sounds, Low-level APIs

AVFoundation, Compressed Audio Files

class name prefixes of, Core Location

Cocoa Touch, Projects, targets, and frameworks

Core Audio, Low-level APIs

Core Data (see Core Data )

(see also Core Data )

Core Foundation, Creating and using keys, Using NSStream

Core Graphics, The drawRect: method, For the More Curious: Retina Display, Image Manipulation, Layer Content

Core Location, Core Location

Core Video, Low-level APIs

header files of, Core Location

importing, Core Location, Putting the pieces together

and linker errors, Linking

MapKit, MapKit and Text Input, MapKit Framework

MediaPlayer, Playing Movie Files

MobileCoreServices, For the More Curious: Recording Video

QuartzCore, Core Animation Layer, Layer Content

Security, Using NSStream

UIKit, Projects, targets, and frameworks, The drawRect: method, Layer Content


functions

in C, Creating and using keys

callback, Delegation

in stack frame, For the More Curious: More on Memory Management

timing (animation), Timing functions

vs. methods, Objects

H

.h files (see header files )
header files

description, Subclassing an Objective-C Class

for frameworks, Core Location

importing, Accessor methods, Testing your subclass

order of declarations in, Class methods

shortcut to implementation files, Your own MKAnnotation


header view (UITableView), Editing Mode
heap

basics of, Memory Management Basics

vs. stack, For the More Curious: More on Memory Management


heap-based block, For the More Curious: Memory Management and Blocks
heapshots, Heapshot Analysis
HeavyRotation application

implementing autorotation, Autorotation

making universal, Autorotation

registering and receiving notifications, UIDevice Notifications


hierarchies

class, Subclassing an Objective-C Class

layer, Layers and views, Creating a CALayer

view, Subclassing UIView, For the More Curious: Retain Cycles, Creating the UITabBarController, Creating views for the view controllers, The View Controller Lifecycle and Low-Memory Warnings


high-pass filter, For the More Curious: Filtering and Frequency
Homepwner application

adding drill-down interface, UINavigationController, UINavigationController

adding images, Camera

adding modal presentation, Modal View Controllers

archiving data, Archiving

customizing cells, Subclassing UITableViewCell

enabling editing, Editing UITableView

localizing, Internationalization using NSLocale

moving to Core Data, Moving Homepwner to Core Data

object diagrams, UITableView’s Data Source, UINavigationController

reusing Possession class, Subclassing UITableViewController

storing images, Writing to filesystem with NSData

universalizing, Universalizing Homepwner


HTTP protocol, Writing a web server in Objective-C

(see also networking )


Hypnosister application

adding text with shadow, Drawing Text and Shadows

creating HypnosisView, Creating a Custom View

hiding status bar, Hiding the Status Bar

object diagram, Using UIScrollView

scrolling and zooming, Using UIScrollView


HypnoTime application

adding animation, Creating a CALayer, Spinning with CABasicAnimation

creating a tab bar, Creating the UITabBarController

creating views, Creating views for the view controllers

object diagram, Setting Up the Accelerometer

using accelerometer data, Using Accelerometer Data

I

I/O functions, For the More Curious: Reading and Writing to the filesystem
IBAction, Declaring methods, Setting targets and actions, Taking pictures and UIImagePickerController
IBOutlet, Declaring methods, An Additional UIViewController
ibtool, Localizing Resources
icons

application, Application Icons

camera, Taking pictures and UIImagePickerController

tab bar, Creating view controllers and tab bar items


id, id
identity inspector, Demystifying the XIB: File's Owner, Creating the TouchTracker Application
identity matrices, Bouncing with a CAKeyframeAnimation
image picker (see UIImagePickerController)
imageNamed:, For the More Curious: Retina Display
imagePickerController: didFinishPickingMediaWithInfo:, Taking pictures and UIImagePickerController
imagePickerControllerDidCancel:, Taking pictures and UIImagePickerController
images

(see also camera , UIImage , UIImageView )

archiving, Image Manipulation

creating thumbnail, Image Manipulation

displaying in UIImageView, Displaying Images and UIImageView

manipulating in offscreen contexts, Image Manipulation

for Retina display, For the More Curious: Retina Display

storing, ImageStore

storing in cache, Writing to filesystem with NSData

wrapping in NSData, Writing to filesystem with NSData


imageWithContentsOfFile:, Writing to filesystem with NSData
@implementation, Accessor methods
implementation files, Accessor methods, Your own MKAnnotation
implicit animations, Implicitly Animatable Properties
implicit layers, Layers and views, Layer Content
#import, Testing your subclass
importing files, Accessor methods, Testing your subclass, Putting the pieces together
inactive state, Application States, Transitions, and Multitasking
including files, Accessor methods
Info.plist, Forcing Landscape Mode
inheritance, single, Subclassing an Objective-C Class
init

and alloc, Creating objects

overview, Initializers

for view controllers, Style Choices, Subclassing UITableViewController


initialize, NSUserDefaults
initializers, Initializers
initWithCGImage:, Layer Content, For the More Curious: Layers, Bitmaps, and Contexts
initWithCoder:, Archiving, Unarchiving objects, Creating the TouchTracker Application
initWithContentsOfFile:, For the More Curious: Reading and Writing to the filesystem
initWithFrame:, Instantiating a UIView, Creating the TouchTracker Application, Creating a CALayer, Layer Content
initWithNibName:bundle:, Demystifying the XIB: File's Owner
initWithStyle:, Subclassing UITableViewController
insertObject:atIndex:, Writing the RandomPossessions Tool, NSArray and NSMutableArray
inspectors

attributes, Building Interfaces, Interface Properties

connections, Summary of connections

file, Localizing Resources

identity, Demystifying the XIB: File's Owner, Creating the TouchTracker Application

overview, Building Interfaces

size, Autorotation


instance variables

accessor methods for, Accessor methods

customizing in attributes inspector, Building Interfaces

declaring, Subclassing an Objective-C Class

description, Objects

and pointers, Instance variables, For the More Curious: More on Memory Management, Using the Debugger

and properties, Simplifying accessors with properties, copy and mutableCopy

releasing, Implementing dealloc, Delegation, controllers, and memory management

retaining, Accessors and memory management

setting to nil, Destroying objects


instances, Objects
Instruments, Instruments, Creating a new scheme
@interface, Subclassing an Objective-C Class
interface files (see header files )
intermediate files, Preprocessing
internationalization, For the More Curious: NSBundle’s Role in Internationalization

(see also localization )


internet sockets, Using NSStream
iPad

application icons for, Application Icons

launch images for, Launch Images

orientations, Autorotation

XIB files for, Universalizing Homepwner


isa, isa
isSourceTypeAvailable:, Taking pictures and UIImagePickerController
issue navigator, Build and Run on the Simulator

K

kCAMediaTimingFunctionEaseInEaseOut, Timing functions
key paths (animation), Animation Objects
key-value coding, Animation Objects
key-value pairs

and dictionaries, ImageStore

in Info.plist, Forcing Landscape Mode


keyboard

dismissing, Dismissing the keyboard

number pad, Challenge: Number Pad

setting properties of, Interface Properties


keyed archiving, Archiving objects
keyframes (animation), Animation Objects
keys

for animations, Spinning with CABasicAnimation

for dictionaries, NSDictionary


keywords, Subclassing an Objective-C Class
kUTTypeImage, For the More Curious: Recording Video
kUTTypeMovie, For the More Curious: Recording Video

L

labels (in message names), Sending messages
labels (UILabel), Building Interfaces, Model-View-Controller
landscape mode

forcing rotation to, Forcing Landscape Mode

and split view controllers, Splitting Up Nerdfeed


language settings, Localization, Localizing Resources
launch images, Launch Images
launchOptions, Accessing data in notifications
layers

(see also CALayer )

compositing, Layers and views

and delegation, For the More Curious: Programmatically Generating Content

drawing programmatically, For the More Curious: Programmatically Generating Content

explicit, Creating a CALayer, For the More Curious: Programmatically Generating Content

hierarchy, Creating a CALayer

hierarchy of, Layer Content

implicit, Layers and views, Layer Content

model vs. presentation, For the More Curious: The Presentation Layer and the Model Layer

size and position, Creating a CALayer

and views, Layers and views


layoutSubviews, Laying out subviews
lazy allocation (of views), The View Controller Lifecycle and Low-Memory Warnings
leaks (see memory leaks )
Leaks instrument, The Allocations Instrument
libraries

code snippet, Code Snippet Library

object, Building Interfaces

overview, Building Interfaces

system, Putting the pieces together

(see also frameworks )


library files, Linking
Library/Caches/ (directory), Application Sandbox
Library/Preferences/ (directory), Application Sandbox
linker errors, Linking
little-endian, Byte ordering
load state notifications, Preloading video
loadState, Preloading video
loadView, Creating views for the view controllers, Demystifying the XIB: File's Owner, The View Controller Lifecycle and Low-Memory Warnings, Editing Mode, An Additional UIViewController
Localizable.strings, NSLocalizedString and Strings Tables
localization

adding, Localizing Resources

and ibtool, Localizing Resources

internationalization, Localization, For the More Curious: NSBundle’s Role in Internationalization

lproj directories, Localizing Resources, For the More Curious: NSBundle’s Role in Internationalization

NSBundle, For the More Curious: NSBundle’s Role in Internationalization

resources, Localizing Resources

strings tables, NSLocalizedString and Strings Tables

user settings for, Localization, Localizing Resources

XIB files, Localizing Resources


localizedDescription, For the More Curious: Reading and Writing to the filesystem
location services

(see also Core Location)


location updates, Receiving updates from CLLocationManager, Other forms of background execution
locationManager:didFailWithError:, Receiving updates from CLLocationManager
locationManager:didUpdateToLocation: fromLocation:, Receiving updates from CLLocationManager
log navigator, Writing the RandomPossessions Tool
low-memory warnings, The View Controller Lifecycle and Low-Memory Warnings, Taking pictures and UIImagePickerController, More on Low-Memory Warnings, Guidelines for background execution
low-pass filter, Smoothing Accelerometer Data, For the More Curious: Filtering and Frequency
lproj directories, Localizing Resources, For the More Curious: NSBundle’s Role in Internationalization

M

.m files, Accessor methods
M4A, System Sounds
mach_msg_trap, Time Profiler Instrument
macros, preprocessor, Build Settings
main, Writing the RandomPossessions Tool
main bundle, Application Sandbox, For the More Curious: The Application Bundle, For the More Curious: NSBundle’s Role in Internationalization, Registering system sounds, Preloading video
mainBundle, Editing Mode, For the More Curious: The Application Bundle
MainWindow.xib, Building Interfaces
malloc, Managing memory in C
MapKit (framework), MapKit and Text Input, MapKit Framework
MapKit annotation, MapKit Framework
maps

(see also MKAnnotation (protocol), MKMapView)

changing type of, Updating Whereami

zooming, Being a MapView Delegate


mapType (MKMapView), Updating Whereami
mapView:didUpdateUserLocation:, Using the documentation
masks, autoresize, Autorotation, Setting autoresizing masks programmatically and bitwise operations
master view controllers, Splitting Up Nerdfeed, Displaying the Master View Controller in Portrait Mode
MediaPlayer (framework), Playing Movie Files
MediaPlayer application

in background, Background Processes

playing audio, System Sounds

playing video, Playing Movie Files

recording audio, Challenge: Audio Recording


mediaTypes, For the More Curious: Recording Video
memory leaks

avoiding with autorelease, Using autorelease

defined, Memory Management Basics

finding with Allocations instrument, The Allocations Instrument

finding with static analyzer, The Static Analyzer

fixing, Using retain counts


memory management

basics of, Memory Management Basics

and blocks, For the More Curious: Memory Management and Blocks

C functions, Creating and using keys

and controller objects, Delegation, controllers, and memory management

data segment, For the More Curious: More on Memory Management

and delegates, Delegation, controllers, and memory management

dictionaries, NSDictionary, More on Low-Memory Warnings

lazy allocation of views, The View Controller Lifecycle and Low-Memory Warnings

and notifications, Notification Center

NSMutableArray, Using autorelease

optimizing with Allocations instrument, The Allocations Instrument

and properties, Simplifying accessors with properties

and retain cycles, For the More Curious: Retain Cycles

rules for, Retain count rules

stack, For the More Curious: Memory Management and Blocks

stack frame, For the More Curious: More on Memory Management

structures, Your own MKAnnotation, Creating and using keys

and UITableViewCell, Reusing UITableViewCells


memory warnings, The View Controller Lifecycle and Low-Memory Warnings, Taking pictures and UIImagePickerController, More on Low-Memory Warnings, Guidelines for background execution
messages

(see also methods )


methods

(see also accessor methods, individual method names)

(see also categories )

accessor, Accessor methods

action, Setting targets and actions, For the More Curious: UIControl

class, Class methods

convenience, Class methods, Using autorelease, Retain count rules

data source, Implementing data source methods

declaring, Accessor methods, Initializers, Class methods

defined, Objects

designated initializer, Initializers

implementing, Accessor methods, Instance methods, Implementing the designated initializer

initializer, Initializers

making calls to illegal, Modal View Controllers

names of, Sending messages

overriding, Subclassing an Objective-C Class, Instance methods, super

parameters of, Initializers

private, Categories, Displaying the Master View Controller in Portrait Mode

protocol, Protocol methods

stepping through, Using the Debugger

vs. messages, Sending messages

writing new, Instance methods


MKAnnotation (protocol), Your own MKAnnotation
MKAnnotationView, Object Diagrams, Your own MKAnnotation
MKCoordinateRegion, Using the documentation
MKMapView, Object Diagrams, Being a MapView Delegate, Using the documentation, Updating Whereami
MKMapViewDelegate, Being a MapView Delegate
MKReverseGeocoder, Challenge: Reverse Geocoding
MKUserLocation, Using the documentation
MobileCoreServices, For the More Curious: Recording Video
.mobileprovision files, Deploying an Application
modal view controllers

defined, Taking pictures and UIImagePickerController

dismissing, Dismissing modal view controllers

and non-disappearing parent view, Modal view controller styles

styles of, Modal view controller styles

transitions for, Modal view controller transitions


modalPresentationStyle, Modal view controller styles
modalTransitionStyle (UIViewController), Modal view controller transitions
modalViewController, Dismissing modal view controllers
model file (Core Data), The model file, Updating PossessionStore
model layer, For the More Curious: The Presentation Layer and the Model Layer
model objects, Model-View-Controller, Object Diagrams
Model-View-Controller, Model-View-Controller, Object Diagrams, Model-View-Controller-Store Design Pattern
Model-View-Controller-Store, Model-View-Controller-Store Design Pattern
motion events (shakes), Detecting Shakes
motionBegan:withEvent:, Detecting Shakes
motionCancelled:withEvent:, Detecting Shakes
motionEnded:withEvent:, Detecting Shakes
movies (see video )
MP3, System Sounds, Compressed Audio Files
MPMoviePlayerController, Playing Movie Files
MPMoviePlayerViewController, MPMoviePlayerViewController
multi-touch, Creating the TouchTracker Application, Challenge: Circles
multitasking, Background Processes
music (see audio )
mutableCopy, copy and mutableCopy

N

naming conventions

accessor methods, Accessor methods

cell reuse identifiers, Reusing UITableViewCells

class prefixes, Core Location

delegate protocols, Protocols

initializer methods, Initializers


navigation controllers

(see also UINavigationController )

adding view controllers to, Pushing view controllers, Appearing and disappearing views

described, UINavigationController

managing view controller stack, UINavigationController, Pushing view controllers

and UINavigationBar, UINavigationBar

viewWillAppear:, Appearing and disappearing views

viewWillDisappear:, Appearing and disappearing views


navigationController, Pushing view controllers
navigationItem (UIViewController), UINavigationBar
navigators

breakpoint, Using the Debugger

debug, Using the Debugger

issue, Build and Run on the Simulator

keyboard shortcuts for, Build and Run on the Simulator

log, Writing the RandomPossessions Tool

project, Creating an Xcode Project


Nerdfeed application

adding delegate protocol, Master-Detail Communication

adding UIWebView, UIWebView

categorizing log statements, A quick tip on logging

fetching data, Fetching data from a URL

parsing data, Parsing XML

using UISplitViewController, Splitting Up Nerdfeed


nested message sends, Creating objects
netServiceBrowser:didFindService:moreComing:, Browsing for services via Bonjour
network services (see Bonjour )
networking

(see also Bonjour , web services )

HTTP protocol, For the More Curious: The Request Body, Writing a web server in Objective-C

with NSStream, Using NSStream

platforms, The Production Server and Moving Forward

with NSStream, More on reading from a stream


nextResponder, The Responder Chain
NIB files

defined, Building Interfaces

and view controllers, Style Choices

and view controllers, Autorotation

vs. XIB files, Building Interfaces


nil

in arrays, NSArray and NSMutableArray

as notification wildcard, Notification Center

returned from initializer, super

sending messages to, Destroying objects

in setter methods, Accessors and memory management

-targeted actions, For the More Curious: UIControl


nonatomic, Simplifying accessors with properties
notifications

as approach to callbacks, For the More Curious: Pros and Cons of Callback Options

and blocks, Keeping code compact with blocks

described, Notification Center

of low-memory warnings, More on Low-Memory Warnings

for video loading, Preloading video


notifications, push (see push notifications )
NSArray, Using blocks with other built-in methods

(see also arrays )


NSAutoreleasePool, Using autorelease
NSBundle, Editing Mode, For the More Curious: NSBundle’s Role in Internationalization, Registering system sounds
NSCocoaErrorDomain, For the More Curious: Reading and Writing to the filesystem
NSCoder, Archiving
NSCoding, Archiving, Image Manipulation
NSData, Writing to filesystem with NSData, Image Manipulation
NSDate, Implementing the designated initializer, Demystifying the XIB: File's Owner, Passing data between view controllers, For the More Curious: Reading and Writing to the filesystem
NSDateFormatter, Demystifying the XIB: File's Owner, Passing data between view controllers, Internationalization using NSLocale
NSDictionary, NSDictionary

(see also dictionaries )


NSError, For the More Curious: Reading and Writing to the filesystem
NSExpression, More About SQL
NSFetchRequest, Updating PossessionStore, More About SQL
NSHomeDirectory, Constructing a file path
NSIndexPath, Creating and retrieving UITableViewCells, Deleting Rows, Using the custom cell
NSInputStream, Using NSStream, Detecting errors in notification delivery
NSKeyedArchiver, Archiving objects
NSKeyedUnarchiver, Unarchiving objects
NSLocale, Internationalization using NSLocale
NSLocalizedString, NSLocalizedString and Strings Tables
NSLog, NSString
NSManagedObject, NSManagedObject and subclasses, More About SQL
NSManagedObjectContext, Updating PossessionStore, More About SQL
NSManagedObjectModel, Updating PossessionStore
NSMutableArray, Writing the RandomPossessions Tool, NSArray and NSMutableArray, Using autorelease, For the More Curious: Memory Management and Blocks

(see also arrays )


NSMutableDictionary, For the More Curious: Memory Management and Blocks

(see also dictionaries )


NSMutableString, copy and mutableCopy

(see also strings )


NSNetService, Publishing a Bonjour service, Writing a web server in Objective-C, For the More Curious: TXTRecords
NSNetServiceBrowser, Browsing for services via Bonjour
NSNetServiceDelegate, Publishing a Bonjour service
NSNotification, Notification Center
NSNotificationCenter, Notification Center, Keeping code compact with blocks
NSNull, NSArray and NSMutableArray
NSNumber, For the More Curious: Reading and Writing to the filesystem, Animation Objects
NSObject, Subclassing an Objective-C Class
NSOutputStream, Using NSStream, Providing data to the notification server
NSPersistentStoreCoordinator, Updating PossessionStore
NSPredicate, Updating PossessionStore
NSSearchPathDirectory, Constructing a file path
NSSearchPathForDirectoriesInDomains, Constructing a file path
NSSortOrdering, More About SQL
NSStream, Using NSStream, More on reading from a stream
NSStreamDelegate, Using NSStream, More on reading from a stream
NSStreamEventHasSpaceAvailable, Providing data to the notification server
NSString

(see also strings )

description, Subclassing an Objective-C Class

internationalizing, NSLocalizedString and Strings Tables

as key path, Animation Objects

property list serializable, For the More Curious: Reading and Writing to the filesystem

stringWithFormat:, Class methods, Using autorelease

toll-free bridging, Creating and using keys

as view object, Model-View-Controller


NSStringFromSelector, For The More Curious: Application State Transitions
NSTableView, Creating CocoaServer
NSTemporaryDirectory, Application Sandbox
NSTimer, Detecting Shakes
NSURL, Fetching data from a URL, Registering system sounds
NSURLAuthenticationChallenge, For the More Curious: Credentials
NSURLAuthenticationChallengeSender, For the More Curious: Credentials
NSURLConnection, Fetching data from a URL, For the More Curious: The Request Body
NSURLCredential, For the More Curious: Credentials
NSURLRequest, Fetching data from a URL, For the More Curious: The Request Body
NSUserDefaults, Application Sandbox, NSUserDefaults
NSUserDefaultsDidChangeNotification, For the More Curious: The Settings Application
NSValue, Turning Touches into Lines, Animation Objects
NSXMLParser, Parsing XML, For the More Curious: NSXMLParser
NSXMLParserDelegate, Parsing XML, For the More Curious: NSXMLParser
ntohs, Byte ordering
number pad, Challenge: Number Pad

O

objc_msgSend, Time Profiler Instrument
object diagrams, Object Diagrams
object files, Compiling
object library, Building Interfaces
Object-Relational Mapping (ORM), Object-Relational Mapping
objectAtIndex:, NSArray and NSMutableArray
objectForKey:, NSDictionary
Objective-C

basics, Objective-C

compile-time errors in, Exceptions and the Console Window

keywords, Subclassing an Objective-C Class

memory management in, Managing memory with objects

message names, Sending messages

method names, Sending messages

naming conventions, Accessor methods, Initializers

single inheritance in, Subclassing an Objective-C Class


objects

(see also classes )

memory management of, Managing memory with objects

overview, Objects

property list serializable, For the More Curious: Reading and Writing to the filesystem


offscreen contexts, Image Manipulation
OmniGraffle, Object Diagrams
optional methods (protocols), Protocol methods
Organizer, Deploying an Application
orientation

and accelerometer, Orientation and Scale of Acceleration

and autorotation, Autorotation

landscape mode, Forcing Landscape Mode

on iPad, Autorotation, Forcing Landscape Mode, Universalizing Homepwner

and split view controllers, Splitting Up Nerdfeed

UIDevice constants for, UIDevice Notifications


orientationChanged:, UIDevice Notifications
ORM (Object-Relational Mapping), Object-Relational Mapping
outlets, Making Connections, An Additional UIViewController
overriding methods, Instance methods, super

P

parentViewController, Dismissing modal view controllers
parentViewController (UIViewController), Modal view controller styles
parsing XML, Parsing XML
passing by reference, Registering system sounds
pathForResource:ofType:, For the More Curious: NSBundle’s Role in Internationalization, Registering system sounds
pathInDocumentDirectory, Constructing a file path
.pch files, Constructing a file path
pointers

and arrays, NSArray and NSMutableArray

defined, Creating objects

as instance variables, Instance variables, Using the Debugger

memory details of, For the More Curious: More on Memory Management

overview, Creating objects

setting in XIB files, Setting pointers


popover controllers, UIPopoverController, Displaying the Master View Controller in Portrait Mode
popoverControllerDidDismissPopover:, UIPopoverController
#pragma mark, Updating PossessionStore
pre-compiled header files, Constructing a file path
predicates (fetch requests), Updating PossessionStore
preferences, Settings
prefix files, Constructing a file path
preloading notification, Preloading video
premature deallocation, Memory Management Basics, Using retain counts
preprocessing, Preprocessing
preprocessor macros, Build Settings
presentation layer, For the More Curious: The Presentation Layer and the Model Layer
presentModalViewController:animated:, Taking pictures and UIImagePickerController
presentMoviePlayerViewControllerAnimated:, MPMoviePlayerViewController
private API, More About SQL
private methods, Categories, Displaying the Master View Controller in Portrait Mode
products, Projects, targets, and frameworks, Xcode Schemes
profiling (applications), The Allocations Instrument
project, Creating an Xcode Project
project navigator, Creating an Xcode Project
projects

adding frameworks to, Core Animation Layer

build settings for, Build Settings

cleaning and building, Localizing Resources

copying files to, Using View Controllers, Subclassing UITableViewController

creating new, Creating an Xcode Project

defined, Projects, targets, and frameworks

diagram of, Xcode Schemes

target settings in, For the More Curious: The Application Bundle


properties

and accessor methods, Accessor methods

attributes of, Simplifying accessors with properties

copy attribute, copy and mutableCopy

declaring, Simplifying accessors with properties

and instance variables, Simplifying accessors with properties, copy and mutableCopy

in protocols, Writing a view controller delegate protocol

synthesizing, Simplifying accessors with properties


property list serializable, For the More Curious: Reading and Writing to the filesystem
property list serializable objects, For the More Curious: Reading and Writing to the filesystem
protocols

AVAudioPlayerDelegate, Compressed Audio Files

CLLocationManagerDelegate, Protocols

creating new, Writing a view controller delegate protocol, Master-Detail Communication

declaring, Protocol methods, Being a MapView Delegate

delegate, Protocols, Being a MapView Delegate, Master-Detail Communication

implementation of, Your own MKAnnotation

MKAnnotation, Your own MKAnnotation

MKMapViewDelegate, Being a MapView Delegate

NSCoding, Archiving, Image Manipulation

NSNetServiceDelegate, Publishing a Bonjour service

NSStreamDelegate, Using NSStream, More on reading from a stream

NSURLAuthenticationChallengeSender, For the More Curious: Credentials

NSXMLParserDelegate, Parsing XML

optional methods in, Protocol methods

properties in, Writing a view controller delegate protocol

required methods in, Protocol methods

structure of, Protocols

UIAccelerometerDelegate, Setting Up the Accelerometer, Detecting Shakes

UIApplicationDelegate, Protocol methods, Demystifying the XIB: File's Owner, Application States, Transitions, and Multitasking

UIImagePickerControllerDelegate, Taking pictures and UIImagePickerController

UINavigationControllerDelegate, Taking pictures and UIImagePickerController

UIPopoverControllerDelegate, UIPopoverController

UIScrollViewDelegate, Zooming

UISplitViewControllerDelegate, Displaying the Master View Controller in Portrait Mode

UITableViewDataSource, UITableViewController, Implementing data source methods, Creating and retrieving UITableViewCells, Deleting Rows, Moving Rows

UITableViewDelegate, UITableViewController, Editing Mode

UITextFieldDelegate, Dismissing the keyboard

UITextInputTraits, Interface Properties


provisioning profiles, Deploying an Application, Provisioning for push notifications
proximity monitoring, Challenge: Proximity Notifications
push notifications

accessing data in, Accessing data in notifications

aps container in, Providing data to the notification server

badges in, Registering for notifications, Sounds and badges

certificates for, Provisioning for push notifications, Connecting to Apple’s server with NSStream, Using NSStream

delivering to device, Delivering a Push Notification

described, Push Notifications and Networking

device tokens for, Registering for notifications, Getting the token to the provider, Providing data to the notification server

errors in delivering, Detecting errors in notification delivery

expiration dates for, Providing data to the notification server

limitations of, Providing data to the notification server, Accessing data in notifications

and notification server, Delivering a Push Notification, Sending Push Notifications

package formats for, Providing data to the notification server

payload in, Providing data to the notification server

provisioning for, Provisioning for push notifications

receiving in running app, Accessing data in notifications

registering for, Registering for notifications

setting app context with, Accessing data in notifications

sounds in, Sounds and badges

types of, Registering for notifications

unregistering a device for, For the More Curious: The Feedback Service


pushViewController:animated:, Pushing view controllers

R

RandomPossessions application

creating command-line tool, Writing the RandomPossessions Tool

creating Possession class, Subclassing an Objective-C Class


read:maxLength:, Detecting errors in notification delivery
receiver, Sending messages
reference counting, Reference Counting, Using retain counts
registerDefaults:, NSUserDefaults
registration domain, NSUserDefaults
relationships (Core Data), The model file, More About SQL
release, Using retain counts
reloadData, Deleting Rows
removeObserver:, Notification Center
reordering controls, Moving Rows
required methods (protocols), Protocol methods
resignFirstResponder, Tagging locations, Appearing and disappearing views
resizing views, Autorotation, Setting autoresizing masks programmatically and bitwise operations
resources

defined, Application Icons, For the More Curious: The Application Bundle

localizing, Localizing Resources


responder chain, The Responder Chain
responders (see first responder , UIResponder )
respondsToSelector:, Protocol methods
retain, Using retain counts
retain counts, Using retain counts, Retain count rules, For the More Curious: Retain Cycles
retain cycles, For the More Curious: Retain Cycles
Retina display, Application Icons, Launch Images, For the More Curious: Retina Display
reuseIdentifier (UITableViewCell), Reusing UITableViewCells
reusing

animation objects, Spinning with CABasicAnimation

classes, Subclassing UITableViewController

table view cells, Reusing UITableViewCells


root object (in archiving), Archiving objects
rootViewController (of window), Creating the UITabBarController, UINavigationController
rootViewController (UINavigationController), UINavigationController
rotation, Autorotation, Splitting Up Nerdfeed
rows (of a table view)

adding, Adding Rows

deleting, Deleting Rows

moving, Moving Rows


run loop, Using autorelease, For the More Curious: Redrawing Views
run-time errors, Exceptions and the Console Window

S

sandbox, application, Saving, Loading, and Multitasking, For the More Curious: The Application Bundle
schemes, Deploying an Application, Xcode Schemes, Browsing for services via Bonjour
screenshots, Launch Images
scrolling, Using UIScrollView
sections (of table view), Implementing data source methods, Editing Mode
Security (framework), Using NSStream
SEL, UINavigationBar
selector, Sending messages, UINavigationBar
self, self, Class methods
sendAction:to:from:forEvent:, For the More Curious: UIControl
sendActionsForControlEvents:, For the More Curious: UIControl
setAutoresizingMask:, Setting autoresizing masks programmatically and bitwise operations
setCategory:error:, Background Processes, Other forms of background execution
setCompletionBlock: (CATransaction), For the More Curious: Memory Management and Blocks
setEditing:animated:, Editing Mode, UINavigationBar
setMultipleTouchEnabled:, Creating the TouchTracker Application
setNeedsDisplay, For the More Curious: Redrawing Views, For the More Curious: Programmatically Generating Content
setObject:forKey:, NSDictionary
setPosition:, Implicitly Animatable Properties
setProximityMonitoringEnabled:, Challenge: Proximity Notifications
setRegion:animated:, Using the documentation
setRootViewController:, Creating the UITabBarController, Subclassing UITableViewController, UINavigationController
setStatusBarHidden:withAnimation:, Hiding the Status Bar
setter methods, Accessor methods, Accessors and memory management, copy and mutableCopy
setText:, For the More Curious: Redrawing Views
Settings application, Application Sandbox, For the More Curious: The Settings Application
settings, user, Settings
shakes, detecting, Detecting Shakes
shouldAutorotateToInterfaceOrientation:, Autorotation, Forcing Landscape Mode, Splitting Up Nerdfeed
showsUserLocation, Being a MapView Delegate
simulator

and multi-touch simulating, Challenge: Circles

for Retina display, For the More Curious: Retina Display

running applications on, Build and Run on the Simulator

viewing application bundle in, For the More Curious: The Application Bundle


single inheritance, Subclassing an Objective-C Class
singletons, implementing, PossessionStore: a singleton
size inspector, Autorotation
sockaddr_in, Getting address data from the server
sockets, Using NSStream
sort descriptors (NSFetchRequest), Updating PossessionStore
sourceType (UIImagePickerController), Taking pictures and UIImagePickerController
split view controllers

autorotating, Splitting Up Nerdfeed

illegal on iPhone, Splitting Up Nerdfeed

master and detail view controllers, Splitting Up Nerdfeed

in portrait mode, Displaying the Master View Controller in Portrait Mode


splitViewController(UIViewController), Splitting Up Nerdfeed
SQL, More About SQL
SQLite, Object-Relational Mapping, Updating PossessionStore, More About SQL
stack frame, For the More Curious: More on Memory Management, For the More Curious: Memory Management and Blocks
stack trace, Using the Debugger
stack-based block, For the More Curious: Memory Management and Blocks
standardUserDefaults, NSUserDefaults
startMonitoringSignificantLocationChanges, Other forms of background execution
states, application, Application States, Transitions, and Multitasking
static analyzer, The Static Analyzer
static variables, Demystifying the XIB: File's Owner
status bar, hiding, Hiding the Status Bar
store objects, Model-View-Controller-Store Design Pattern
stream:handleEvent:, Using NSStream, Providing data to the notification server, Detecting errors in notification delivery
streaming connections, Using NSStream, More on reading from a stream
streaming video, Playing Movie Files
strings

@ prefix, NSString

collecting from XIB with ibtool, Localizing Resources

convenience methods for, Class methods, Using autorelease

copying, copy and mutableCopy

hard coding, NSString

localizing, Localizing Resources

writing to filesystem, Writing to filesystem with NSData


strings tables, NSLocalizedString and Strings Tables
stringWithFormat:, Class methods, Using autorelease
structures (vs. Objective-C objects), Objects, Your own MKAnnotation
subclassing, Subclassing an Objective-C Class
super, super
superclasses, Subclassing an Objective-C Class, super
superlayer, Layer Content
superview, For the More Curious: Retain Cycles
suspended state, Application States, Transitions, and Multitasking, Background Processes
syntax errors, Compiling
system libraries, Linking, Putting the pieces together
system sounds, System Sounds
SystemSoundID, System Sounds

T

tab bar controller (see UITabBarController)
tab bar controllers, View Controllers and XIB Files, UINavigationController, UINavigationController
tab bar items, Creating view controllers and tab bar items
table view cells

(see also UITableViewCell )

adding images to, Image Manipulation

retrieving, Creating and retrieving UITableViewCells

reusing, Reusing UITableViewCells, Using the custom cell


table view controllers

(see also UITableViewController )

adding rows, Adding Rows

as data source, UITableView’s Data Source

deleting rows, Deleting Rows

described, UITableViewController

moving rows, Moving Rows

returning cells, Creating and retrieving UITableViewCells


table views

(see also table view controllers , UITableView )

adding rows to, Adding Rows

deleting rows from, Deleting Rows

editing mode, Creating HomepwnerItemCell

editing mode of, Editing Mode

moving rows in, Moving Rows

populating, UITableView’s Data Source


tableView, Adding Rows
tableView:cellForRowAtIndexPath:, Implementing data source methods, Creating and retrieving UITableViewCells, Using the custom cell
tableView:commitEditingStyle: forRowAtIndexPath:, Deleting Rows
tableView:didSelectRowAtIndexPath:, Passing data between view controllers
tableView:heightForHeaderInSection:, Editing Mode
tableView:moveRowAtIndexPath:toIndexPath:, Moving Rows
tableView:numberOfRowsInSection:, Implementing data source methods
tableView:viewForHeaderInSection:, Editing Mode
target-action pairs

as approach to callbacks, Delegation, For the More Curious: Pros and Cons of Callback Options

defined, Setting targets and actions

setting programmatically, UINavigationBar

and UIControl, For the More Curious: UIControl


targets

adding frameworks to, Projects, targets, and frameworks

build settings for, Build Settings

building, For the More Curious: Build Phases, Compiler Errors, and Linker Errors

defined, Projects, targets, and frameworks

managing multiple, Browsing for services via Bonjour

and schemes, Xcode Schemes

settings of, For the More Curious: The Application Bundle


tcp sockets, Using NSStream
templates

application, Projects, targets, and frameworks

class, Creating a Custom View, View Controller Subclasses and Templates, Subclassing UITableViewController

reasons to avoid, Style Choices, View Controller Subclasses and Templates, Subclassing UITableViewController

view controller, View Controller Subclasses and Templates


textFieldShouldReturn:, Object Diagrams, Tagging locations, Dismissing the keyboard
thumbnail images, creating, Image Manipulation
Time Profiler instrument, Time Profiler Instrument
timing functions (animation), Timing functions
tmp/ (directory), Application Sandbox
toggleEditingMode:, Editing Mode
toll-free bridging, Creating and using keys
topViewController (UINavigationController), UINavigationController
touch events

and animation, Implicitly Animatable Properties

basics of, Touch Events

enabling multi-touch, Creating the TouchTracker Application

handling interruptions, Turning Touches into Lines

keeping track of, Turning Touches into Lines

and responder chain, The Responder Chain

and target-action pairs, For the More Curious: UIControl

and UIControl, For the More Curious: UIControl


touchesBegan:withEvent:, Touch Events, Turning Touches into Lines, Implicitly Animatable Properties
touchesCancelled:withEvent:, Touch Events, Turning Touches into Lines
touchesEnded:withEvent:, Touch Events, Turning Touches into Lines
touchesMoved:withEvent:, Touch Events, Turning Touches into Lines, Implicitly Animatable Properties
TouchTracker application

drawing lines, Creating the TouchTracker Application

fixing memory leak, The Static Analyzer

using blocks to add color, Colorizing TouchDrawView


transient attributes (Core Data), NSManagedObject and subclasses
TXT record, For the More Curious: TXTRecords
typecasting, Creating and using keys, Using the custom cell

U

UIAcceleration, Using Accelerometer Data
UIAccelerometer, Setting Up the Accelerometer
UIAccelerometerDelegate, Setting Up the Accelerometer, Detecting Shakes
UIActivityIndicatorView, Object Diagrams, Interface Properties
UIAlertView, For the More Curious: Reading and Writing to the filesystem
UIApplication

(see also applications )

delegate for, Protocol methods

and events, Touch Events

as File's Owner, Building Interfaces, Demystifying the XIB: File's Owner

and responder chain, The Responder Chain, For the More Curious: UIControl


UIApplicationDelegate, Protocol methods, Demystifying the XIB: File's Owner, Application States, Transitions, and Multitasking
UIApplicationDidReceiveMemoryWarning Notification, More on Low-Memory Warnings
UIBackgroundModes, Background Processes, Other forms of background execution
UIBackgroundTaskIdentifier, Other forms of background execution
UIBarButtonItem, UINavigationBar, Taking pictures and UIImagePickerController, Dismissing the keyboard
UIControl, Dismissing the keyboard, For the More Curious: UIControl
UIControlEventTouchUpInside, For the More Curious: UIControl
UIDevice

currentDevice, Universalizing Homepwner

determining device type, Universalizing Homepwner

notifications from, UIDevice Notifications


UIEvent, Touch Events
UIGraphics functions, Image Manipulation, For the More Curious: Layers, Bitmaps, and Contexts
UIGraphicsBeginImageContextWithOptions, Image Manipulation
UIGraphicsEndImageContext, Image Manipulation
UIGraphicsGetImageFromCurrentImageContext, Image Manipulation
UIImage

and CGContextRef, For the More Curious: Layers, Bitmaps, and Contexts

CGImage, Layer Content

wrapping in NSData, Writing to filesystem with NSData, Image Manipulation


UIImageJPEGRepresentation, Writing to filesystem with NSData
UIImagePickerController

instantiating, Taking pictures and UIImagePickerController

on iPad, UIPopoverController

presenting, Taking pictures and UIImagePickerController

recording video with, For the More Curious: Recording Video

in UIPopoverController, UIPopoverController


UIImagePickerControllerDelegate, Taking pictures and UIImagePickerController
UIImageView

aspect fit, Autorotation

described, Displaying Images and UIImageView


UIKeyboardDidShowNotification, Notification Center
UIKit, The drawRect: method, Layer Content
UIKit (framework), Projects, targets, and frameworks
UILabel, Building Interfaces, Model-View-Controller
UIModalPresentationFormSheet, Modal view controller styles
UIModalPresentationPageSheet, Modal view controller styles
UIModalTransitionStyleFlipHorizontal, Modal view controller transitions
UINavigationBar, UINavigationController
UINavigationController

(see also navigation controllers )

described, UINavigationController

instantiating, UINavigationController

pushViewController:animated:, Pushing view controllers

rootViewController, UINavigationController

topViewController, UINavigationController

view, UINavigationController

viewControllers, UINavigationController


UINavigationControllerDelegate, Taking pictures and UIImagePickerController
UINavigationItem, UINavigationBar
UIPopoverController, UIPopoverController, Displaying the Master View Controller in Portrait Mode
UIPopoverControllerDelegate, UIPopoverController
UIResponder

described, Tagging locations

and responder chain, The Responder Chain

and shakes, Detecting Shakes

and touch events, Touch Events


UIScrollView

scrolling, Using UIScrollView

zooming, Zooming


UIScrollViewDelegate, Zooming
UISplitViewController

(see also split view controllers )


UISplitViewControllerDelegate, Displaying the Master View Controller in Portrait Mode
UITabBar, Creating the UITabBarController
UITabBarController, View Controllers and XIB Files, Creating view controllers and tab bar items, UINavigationController, UINavigationController
UITabBarItem, Creating view controllers and tab bar items
UITableView

(see also UITableViewCell , UITableViewController )

editing mode, UINavigationBar

editing property, Editing Mode

footer view, Editing Mode

header view, Editing Mode

sections, Implementing data source methods, Editing Mode

view, Subclassing UITableViewController


UITableViewCell

(see also table view cells )

cell styles, UITableViewCells

contentView, UITableViewCells, Creating HomepwnerItemCell

editing styles, Deleting Rows

subclassing, Subclassing UITableViewCell

subviews, UITableViewCells


UITableViewCellEditingStyleDelete, Deleting Rows
UITableViewController

(see also table view controllers , UITableView )

as data source, Deleting Rows

data source methods, Implementing data source methods

dataSource, UITableView’s Data Source

described, UITableViewController

editing property, Editing Mode

initWithStyle:, Subclassing UITableViewController

subclassing, Subclassing UITableViewController

tableView, Adding Rows


UITableViewDataSource, UITableViewController, Implementing data source methods, Creating and retrieving UITableViewCells, Deleting Rows, Moving Rows
UITableViewDelegate, UITableViewController, Editing Mode
UITextField

described, Object Diagrams

as first responder, Tagging locations, Dismissing the keyboard, For the More Curious: UIControl

and keyboard, Tagging locations

setText:, For the More Curious: Redrawing Views

setting attributes of, Interface Properties, Challenge: Number Pad


UITextFieldDelegate, Dismissing the keyboard
UITextInputTraits, Interface Properties
UITextView, Tagging locations
UIToolbar, UINavigationBar, Taking pictures and UIImagePickerController
UITouch, Touch Events
UIUserInterfaceIdiomPad, Universalizing Homepwner
UIUserInterfaceIdiomPhone, Universalizing Homepwner
UIView

(see also UIViewController , views )

defined, A Simple iOS Application, Subclassing UIView

drawRect:, The drawRect: method, Drawing Text and Shadows, For the More Curious: Redrawing Views

endEditing:, Appearing and disappearing views

initWithFrame:, Instantiating a UIView

layer, Layers and views

layoutSubviews, Laying out subviews

setNeedsDisplay, For the More Curious: Redrawing Views

size and position, Creating a CALayer

subclassing, Creating a Custom View, Creating views for the view controllers

superview, For the More Curious: Retain Cycles

and UIViewController, View Controllers and XIB Files


UIViewController

(see also UIView , view controllers )

didReceiveMemoryWarning, The View Controller Lifecycle and Low-Memory Warnings

instantiating, Style Choices

loadView, Creating views for the view controllers, The View Controller Lifecycle and Low-Memory Warnings, An Additional UIViewController

modalTransitionStyle, Modal view controller transitions

modalViewController, Dismissing modal view controllers

navigationController, Pushing view controllers

navigationItem, UINavigationBar

parentViewController, Dismissing modal view controllers, Modal view controller styles

splitViewController, Splitting Up Nerdfeed

subclassing, Creating view controllers and tab bar items

template, View Controller Subclasses and Templates

view, View Controllers and XIB Files, Creating the UITabBarController, Creating views for the view controllers, The View Controller Lifecycle and Low-Memory Warnings, The Responder Chain

viewWillAppear:, Taking pictures and UIImagePickerController

and XIB files, Style Choices


UIWebView, UIWebView
UIWindow

defined, A Simple iOS Application

in MainWindow.xib, Building Interfaces

and responder chain, The Responder Chain

and view hierarchy, Subclassing UIView


unarchiveObjectWithFile:, Unarchiving objects
universal applications

accommodating class differences, Universalizing Nerdfeed

accommodating code differences, Master-Detail Communication

accommodating differences, Universalizing Homepwner, Splitting Up Nerdfeed, Universalizing Nerdfeed

setting device family, Universalizing Nerdfeed

user interfaces for, Autorotation, Universalizing Homepwner

using iPad-only classes, Splitting Up Nerdfeed

XIB files for, Universalizing Homepwner


unrecognized selector, Exceptions and the Console Window
updateInterval (UIAccelerometer), Setting Up the Accelerometer, For the More Curious: Filtering and Frequency
user interface

drill-down, UINavigationController, UISplitViewController

hiding status bar, Hiding the Status Bar

keyboard, Interface Properties, Dismissing the keyboard

making universal, Autorotation, Universalizing Homepwner

scrolling, Using UIScrollView

zooming (views), Zooming


userInterfaceIdiom (UIDevice), Universalizing Homepwner
utilities area, Building Interfaces, Code Snippet Library
UUIDs, Creating and using keys

V

variables view, Using the Debugger
variables, instance (see instance variables )
vibration, triggering, Playing system sounds
video

full-screen, MPMoviePlayerViewController

playing, Playing Movie Files

preloading, Preloading video

recording, For the More Curious: Recording Video

streaming, Playing Movie Files, Preloading video


view (UIViewController), View Controllers and XIB Files, Creating views for the view controllers
view controllers

(see also UIViewController )

adding to navigation controller, Pushing view controllers

adding to popover controller, UIPopoverController

adding to split view controller, Splitting Up Nerdfeed

adding to tab bar, Creating view controllers and tab bar items

creating, Creating view controllers and tab bar items

creating delegate protocol for, Master-Detail Communication

creating views for, Creating views for the view controllers

defined, View Controllers and XIB Files

detail, Splitting Up Nerdfeed

initializing, Subclassing UITableViewController

lazy creation of views, The View Controller Lifecycle and Low-Memory Warnings

and low-memory warnings, The View Controller Lifecycle and Low-Memory Warnings

managing views with, Appearing and Disappearing Views

master, Splitting Up Nerdfeed, Displaying the Master View Controller in Portrait Mode

memory management of, The View Controller Lifecycle and Low-Memory Warnings

modal, Taking pictures and UIImagePickerController

and NIB files, Autorotation

passing data between, Passing data between view controllers, Writing a view controller delegate protocol, Master-Detail Communication

reloading subviews, Taking pictures and UIImagePickerController

templates for, View Controller Subclasses and Templates

and view hierarchy, Creating the UITabBarController

and XIB files, View Controllers and XIB Files, Demystifying the XIB: File's Owner


view hierarchy, Subclassing UIView, Instantiating a UIView, For the More Curious: Retain Cycles, Creating views for the view controllers, The View Controller Lifecycle and Low-Memory Warnings
viewControllers (UINavigationController), UINavigationController
viewDidAppear:, Appearing and Disappearing Views
viewDidDisappear:, Appearing and Disappearing Views
viewDidLoad, The View Controller Lifecycle and Low-Memory Warnings, An Additional UIViewController, Universalizing Homepwner
viewDidUnload, The View Controller Lifecycle and Low-Memory Warnings, An Additional UIViewController, Displaying Images and UIImageView
viewForZoomingInScrollView:, Zooming
views

(see also UIView )

autoresize masks for, Setting autoresizing masks programmatically and bitwise operations

autoresizing, Autorotation

autorotating, Autorotation

creating, Creating a Custom View, Creating views for the view controllers

creating programmatically, Instantiating a UIView

defined, A Simple iOS Application, Subclassing UIView

drawing, Drawing Text and Shadows, For the More Curious: Redrawing Views

hierarchy of, For the More Curious: Retain Cycles, Creating the UITabBarController

and layers, Layers and views

life cycle, Appearing and Disappearing Views

modal presentation of, Taking pictures and UIImagePickerController

in Model-View-Controller, Model-View-Controller, Object Diagrams

redrawing, For the More Curious: Redrawing Views

resizing, Displaying Images and UIImageView

and run loop, For the More Curious: Redrawing Views

scrolling, Using UIScrollView

subviews, For the More Curious: Retain Cycles

superviews, For the More Curious: Retain Cycles

zooming, Zooming


viewWillAppear:, Appearing and Disappearing Views, Passing data between view controllers, Appearing and disappearing views, Taking pictures and UIImagePickerController
viewWillDisappear:, Appearing and Disappearing Views, Appearing and disappearing views
VOIP, Other forms of background execution

W

web servers, Writing a web server in Objective-C, Receiving service requests, The Production Server and Moving Forward
web services

(see also networking )

credentials, For the More Curious: Credentials

for data storage, Trade-offs of Persistence Mechanisms

described, Web Services

and HTTP protocol, For the More Curious: The Request Body

parsing retrieved XML, Parsing XML

POST requests, Making service requests

requesting data from, Fetching data from a URL

security, For the More Curious: Credentials


Whereami application

adding a user preference, Settings

changing map type, Settings

configuring user interface, Interface Properties

finding and annotating locations, Being a MapView Delegate

object diagram, Object Diagrams


willAnimateRotationToInterface..., For the More Curious: Overriding Autorotation
window (see UIWindow )
workspaces (Xcode), Creating an Xcode Project, Browsing for services via Bonjour
write:maxLength:, Providing data to the notification server
writeToFile:atomically:, Writing to filesystem with NSData
writeToFile:atomically:encoding:error:, For the More Curious: Reading and Writing to the filesystem

X

Xcode

(see also debugging tools , inspectors , Instruments, libraries , navigators , projects , simulator )

assistant editor, An Additional UIViewController, Taking pictures and UIImagePickerController

build settings, Build Settings

building interfaces, Building Interfaces

canvas, Building Interfaces

console, Build and Run on the Simulator

containers, Xcode Schemes

creating a class in, Subclassing an Objective-C Class

debug area, Build and Run on the Simulator

debugger, Using the Debugger

editor area, Building Interfaces

keyboard shortcuts, An Additional UIViewController

navigators, Creating an Xcode Project

Organizer window, Deploying an Application

products, Projects, targets, and frameworks

profiling applications in, The Allocations Instrument

projects, Projects, targets, and frameworks

schemes, Deploying an Application, Xcode Schemes, Browsing for services via Bonjour

static analyzer, The Static Analyzer

tabs, An Additional UIViewController

targets, Projects, targets, and frameworks, Browsing for services via Bonjour

templates, Creating a Custom View

utilities area, Building Interfaces, Code Snippet Library

workspaces, Creating an Xcode Project, Browsing for services via Bonjour


XIB files

connecting objects in, Declaring methods

creating, Demystifying the XIB: File's Owner

defined, Building Interfaces

editing in Xcode, Building Interfaces

File's Owner, Demystifying the XIB: File's Owner

for iPad, Universalizing Homepwner

loading manually, Editing Mode

localizing, Localizing Resources

vs. NIB files, Building Interfaces

setting pointers in, Setting pointers

in universal applications, Universalizing Homepwner

and view controllers, View Controllers and XIB Files


XML

collecting from web service, Working with NSURLConnection

constructing tree, Parsing XML

parsing, Parsing XML

property lists, For the More Curious: Reading and Writing to the filesystem

Z

ZeroConf standard, Bonjour
zooming (maps), Being a MapView Delegate
zooming (views), Zooming
zPosition, Layer Content
..................Content has been hidden....................

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