- (minus sign), 95
# (pound sign) symbol, 149
#define, 149
* symbol, 133
*label pointer, 137
{ } (curly braces), 74–78, 85–86
+ (plus sign) symbol, 95
7 Wonders of the World app, 370
360 Cities app, 371
About page, APRS Map app, 420–421
actions
adding buttons to tabs in switches app, 245–246
adding to touchesViewController header file, 176–182
connecting buttons as, 182–190
creating, 42
naming, 177
Amateur Radio Operators locator app, 412–421
analyzer, for debugging, 359
animation code, touches app, 157, 210–213
annotations
coding, 398
creating Objective-C class for, 375–378
files, for MapKit framework, 376–378
styles of, 412
varying uses in app, 412
app programming landscape, 23
Appdelegate, 36
Appkit, 148
Apple ID option, 8
Apple, use of MapKits, 369
applications
7 Wonders of the World app, 370
360 Cities app, 371
About page, APRS Map app, 420–421
Amateur Radio Operators locator app, 412–421
animation code, touches app, 157, 210–213
app programming landscape, 23
Appdelegate, 36
Appkit, 148
Apple ID option, 8
Apple, use of MapKits, 369
background images, touches app, 168
coding Change button, 210, 213
setting integer to zero, 192
Blipstar app, 370
Bottom view mode, switch-mistake app, 340
bugs, in switch-mistake app, 343–346
CGAffineTransformstructs, and touches app, 157–182
Change button, touches app, 210–213
adding actions to header file, 187
naming, 170
Compass app, 366
Cool Maps 7 Wonders of the World app, 370
data structure, touches app, 157
Female button, MyStory app, 280–281, 283
Female controller, MyStory app
adding images to, 289
naming bar titles, 290
First View, Tabbed Application, 228–229, 232–236
Geek button, MyStory app, 280–281
Geek controller, MyStory app
linking evolve button to, 293–297
naming bar titles, 290
Geo IP Tool app, 370
Grow button, touches app, 157, 202
header file, for touches app, 182
IBOutlets in, 131–133, 148–149
Image View Application, 121
invisible buttons, MyStory app, 300–301
iPad Simulator, running apps on, 50–54
iPhone Simulator, running apps on, 34–50
Male button, MyStory app, 280–282
Male controller, MyStory app
adding images to, 288
naming bar titles, 291
Map Tunneling Tool app, 370
example 3, 426
MapMyRide app, 369
Maps app, 366
Master-Detail application template, 490–491
Metro Paris Subway app, 369, 371
Move button, in touches app, 208–209
Move button, touches app
adding actions to header file, 187
naming, 170
tracking state of, 183
multimedia platforms, myiTunes application, 487–520
Master-Detail application template, 490–491
preliminaries, 489
myDetailViewController implementation file, in myStory_02 app, 465–473
Master-Detail application template, 490–491
preliminaries, 489
overview, 256
storyboarding configuration for, 258–276
view controllers for, 276–286, 300–322
myDetailViewController implementation file, 465–473
myMasterTableViewController implementation file, 451–458
overview, 433
storyboard in, 440–441, 474–486
table view controller for, 442–451
Navigation-based Application template, 33, 54
platforms, myiTunes application, 487–520
Master-Detail application template, 490–491
preliminaries, 489
QuikMaps app, 369
radio operators locator app, 412–421
Root View Controller, MyStory app, 270, 272
Round Rect Button, MyStory app, 268
Routesy Bay Area San Francisco Muni and BART app, 406, 408
running apps
on physical devices, 55
Second View controller, switch-mistake app, 340
Second View, Tabbed Application, 230, 237–242
Shrink button, touches app, 157, 201–208
adding action to header file, 184–186
adding to header file, 181–182
creating scaling for, 194
naming, 170
tracking state of, 183
Single View Application template, 106, 160, 258, 374
single view template, in myStory_02 app, 436–437
strings, in helloWorld_03 app, 86
structs, touches app, 157
and Content View Modes, 251–253
comparing source files, 347–356
Tabbed Application template, 222, 330
Tall Eye app, 370
test app, creating, 28
andCGAffineTransformstructs, 157–182
implementation file for, 191–213
traffic monitoring app, 425–429
transitions, MyStory app, 274
Twitter Spy app, 370
Über Geek controller, MyStory app, 298, 302, 314
UIViewControllers, MyStory app, 279
View-Based App option, 53
View-based Application icon, 58
View-based Application template, 35, 58, 106
view controllers, MyStory app
adding Web View to, 302
placement of, 282
setting class of, 308
viewDidLoad, switches app, 242
Web View, MyStory app, 302–314
ARC (Automatic Reference Counting), 437
arguments, 79
arrays
creating with list of cities, 454–456
arrow down key, 47
Aspect Fill View Mode, Xcode, 252
Aspect Fit View Mode, Xcode, 252
Assistant Editor, 39–41, 45, 73, 122–123, 139
Attributes Panel, setting images in, 280
Automatic Reference Counting (ARC), 437
background images, touches app, 168
coding Change button, 210, 213
setting integer to zero, 192
bankBalance variable, 150
Bar Button Items, 293
Base View, 115
Batchgeo, 372
beginAnimations method, 211
Beginning iPhone 4 Development, Exploring the iPhone SDK, 20
Bindings inspector, 98
Blipstar app, 370
boiler plate code, 396, 400, 489, 504, 506
Bottom view mode, switch-mistake app, 340
Bottom View Mode, Xcode, 252
brain, connecting information in, 217–220
breakpoints, 358
bugs, in switch-mistake app, 343–346
Build Phases tab, root directory, 379, 459
button text, writing, 119
buttonGuess method, 131–134, 137–138, 142, 144–145
buttons
adding onto canvas, 39
adding to View Design area, 67
MyStory app, 268, 280, 283, 300–301
touches app
adding actions, to header file, 184–187
adding actions, to touchesViewController header file, 176, 182
adding outlets, to touchesViewController header file, 176, 182
changing text for, 202
creating scaling for Shrink button, 194
dragging to View design area in Xcode, 169
naming, 170
tracking state of, 183
canvas
adding buttons to, 39
adding labels to, 38
cells
creating disclosure indicators for, 498
creating subtitles for, 497
naming, 502
centered text icon, 38
CGAffineTransform class, 157, 183, 194
CGAffineTransformstructs, and touches app, 157–182
CGAffineTransformMakeScale method, 194
CGAffineTransformMakeTranslation method, 194–195
Change button, touches app, 210–213
adding actions to header file, 187
naming, 170
Change view and see traffic function, 365–366
class of view controller, setting, 308
classes, 132
Classes file, 131
CLLocation Class Reference, 390
CLLocationCoordinate2D, 462
Cocoa Touch item folder, 113
Code folder, 108
Code snippets, 98
coding
memory management of Storyboard objects, 405–406
myPos file NSObject object, 389–392
Command + Q shortcut, 34, 52, 55, 58
Command + Return shortcut, 74
Command + S shortcut, 40, 83, 146
Command + Shift + N shortcut, 35
Command + Tab shortcut, 34, 55, 60
Company Identifier, 59
Company option, 9
Compass app, 366
compile-time, vs. runtime, 253
connectionDidFinishLoading, 470
Connections inspector, 98
Content View Modes, 235, 251–253
Control + Command + Down Arrow shortcut, 73
Control + Command + Up Arrow shortcut, 73
controller bar titles in storyboarding, naming, 290–291
CONTROLLER section, 152
Control+S shortcut, 49
Cool Maps 7 Wonders of the World app, 370
coordinates, coding, 397
Copy items check box, 62
copy items into destination option, 61
Copy items into the destination group's folder check box, 110
CoreLocation framework
overview, 364
selecting, 381
storing in frameworks folder, 382
counterparts, 73
Create groups for any added folders check box, 110
data structure, touches app, 157
dealloc method, 46
Debugger Console window, for debugging, 357
debugger window, for debugging, 327
comparing source files, 347–356
analyzer, 359
Debugger Console window, 357
debugger window, 327
documentation, 358
FileMerge.app, 329
Fix-it, 357
GDB console, 327
NSZombie, 328
Shark, 328
text editor, 327
unit testing, 328
delegate method, 398
delegate, setting view controller class as, 397
deleting images from desktop, 165
DetailViewController controller, coding, 513–517
Developer tool, 351
directives, 135
disclosure indicators for cells, creating, 498
Disney's storyboarding, 255
Display the Insertion indicator, 76
documentation, for debugging, 358
Download Xcode 4 button, 11–12
downloading
myiTunes app files, 489
myStory 01 code, 373
myStory 02 code files, 434
MyStory app code, 257
source code for debugging, 347–348
switches app code, 221
touches app code, 156
dreams, 155
editing Table View Controllers, 443
Effects inspector, 98
Enroll Now button, 7
Enterprise program, 10
event handling, overview, 363
Female button, MyStory app, 280–281, 283
Female controller, MyStory app
adding images to, 289
naming bar titles, 290
File inspector, 97
File templates, 98
files
header files, 36, 40, 43–44, 46, 96–99
andNSStrings, 98
for touches app, 182
implementation files, 36, 44–46
Media files, 98
nib files, 36, 49, 93–96, 112, 141
Supporting Files folder, 60–62, 109
.xib files, 36, 93–96, 132, 153
creating, 462
nonatomic, 189
retain, 189
synthesizing, 191
Find Yourself function, 364
Finish button, 61
First View label, deleting, 338
First View, Tabbed Application, 228–229, 232–236
FirstViewController.xib file, 244, 336
Fix-it, for debugging, 357
folder highlights, 109
to frameworks folder, 461
tomyPos header file, 462
apps for
apps for MapKit framework, 412–426
memory management of Storyboard objects, 405–406
preliminaries for, 373
GDB console, for debugging, 327
Geek button, MyStory app, 280–281
Geek controller, MyStory app
linking evolve button to, 293–297
naming bar titles, 290
Geo IP Tool app, 370
Google server, parsing, 468–471
graphical user interface (GUI), 18
Grow button, touches app, 157, 202
GUI (graphical user interface), 18
.h (header) file, 44
hash character, 149
header files, 36, 40, 43–44, 46, 96–99
andNSStrings, 98
for touches app, 182
header (.h) file, 44
hello method, 95
Hello World folder, 108
helloWorld_01 file, 35–36, 53–54
andNSStrings, 98
avoiding memory leaks, 88
strings in, 86
user interface for
helloWorld_03ViewController.xib file, 63
IBOutlets in, 131–133, 148–149
help for Xcode IDE, online, 358
highlighting folders, 109
history, of Objective-C, 18–19
I need to create a new account for option, 8
I/O (input/output), 151
IB (Interface Builder), 96
IBActions, 79, 85, 88, 95, 99, 130–131, 138, 148–149
IBOutlets (Interface Builder Outlets), 96, 117–118, 131–133, 148–149, 405–406
icon file, 102–103, 105–106, 111–112
icon.png file, 111
icons
myStory 01 app
importing, 384
moving to correct folders, 386–387
touches app, creating for, 166
IDE (integrated development environment), 16, 29
Identity inspector, 97
if statements
for buttons in touches app, 203–208
for lulu fruit icon in touches app, 199–200, 203–208
Image View Application, 121
Image View Attributes window, 114, 117
Image View icons, 113
imageNamed method, 118, 145, 193
images
formyiTunes application, 492–493
MyStory app
adding to view controllers, 287
copying to Xcode, 260
placing on UIViewControllers, 279
setting in Attributes Panel, 280
for switch app
obtaining, 221
switches app
downloading, 221
implementation files, 36, 44–46
CGAffineTransformMakeScale method, 194
CGAffineTransformMakeTranslation method, 194–195
setting background image, 195–196
synthesis in, 191
Include Unit Tests option, 59
INDIO (Interaction, Navigation, Data, and I/O), 150–153
indirection concept, 149
individual links, 9
Individual option, 9
Information tab, 114
initial momentum, maintaining, 284
input/output (I/O), 151
insertion indicator, 74–75, 78
Inspector Selector Bar, 97
Install Xcode and iOS SDK window, 15–16
The Installation was Successful window, 15
instantiateViewControllerWithIdentifier, method, 323
integrated development environment (IDE), 16, 29
Interaction, Navigation, Data, and I/O (INDIO), 150–153
Interface Builder (IB), 96
Interface Builder Outlets (IBOutlets), 96, 117–118, 131–133, 148–149, 405–406
Interface Builder view, 93
Internet, parsing from, 406–409
int_pointer variable, 150
invisible buttons, MyStory app, 300–301
iOS SDK drive icon, 14
iOS4, and storyboards, 323–324
iPad Simulator, running apps on, 50–54
iPhone Cool Projects, 406, 408
iPhone/iPad development page, 8, 10
iPhone/iPad Operating System software, 10
iPhone/iPad Simulator, 16–17, 23–25, 27, 29, 32
iPhone Simulator, running apps on, 34–50
IPhoneRuntime, 132
Kant image, 142
Kant outlet, 104–106, 117, 127, 132, 134, 137, 142, 145
keyboard
shortcuts, 35
Keyboard & Character Viewer, 316–319
label instance variable, 115, 144
label Outlet, 126
labels
adding onto canvas, 38
adding to View Design area, 71
misspelled, 147
Lamarche, Jeff, 20
Language & Text preferences panel, 316–319
linking buttons to navigation controllers, 270
LLVM compiler, 357
lulu fruit icon
associating with UIImageView, 171–172
CGAffineTransforms for, 183
creating if statement for, 199–200
creating outlet for, 177
luluIcon.png, sizing, 173
MacBook Air, 2
Macintosh HD icon, 103
MainStoryboard.storyboard file, 261
maintaining initial momentum, 284
Male button, MyStory app, 280–282
Male controller, MyStory app
adding images to, 288
naming bar titles, 291
Map Tunneling Tool app, 370
to frameworks folder, 461
tomyPos header file, 462
apps for
apps for MapKit framework, 412–426
memory management of Storyboard objects, 405–406
preliminaries for, 373
MapMyRide app, 369
Maps app, 366
mapView, connecting to MKMapView, 403
Mark, Dave, 20
Master-Detail application template, 490–491
Media files, 98
memory leaks
avoiding, 88
tools for, 328
memory management, 136, 405–406
meridians, 372
Metro Paris Subway app, 369, 371
minus sign (-), 95
misspelled labels, 147
MKAnnotation protocol, 390
MKMapView, connecting to mapView, 403
MKMapViewDelegate protocol, 394
MODEL section, 152
Model-View-Controller (MVC), 151–153
Moraco, Stephen A., 412–421, 425
Move button, touches app, 208–209
adding actions to header file, 187
naming, 170
tracking state of, 183
multimedia platforms, myiTunes application, 487–520
Master-Detail application template, 490–491
preliminaries, 489
mutual exclusivity, 284
MVC (Model-View-Controller), 151–153
My Programs folder, 58
myDetailViewController class, 464, 483
myDetailViewController implementation file, in myStory_02 app, 465–473
coding
DetailViewController controller, 513–517
Master-Detail application template, 490–491
preliminaries, 489
storyboard
organizing popover in, 493–502
myMasterTableViewController, 451–458, 472
myPos file, NSObject object, 389–392
myPos.h file, 389–392, 469–471
overview, 256
storyboarding configuration for, 258–276
view controllers for, 276–286, 300–322
myDetailViewController implementation file, 465–473
myMasterTableViewController implementation file, 451–458
overview, 433
storyboard in, 440–441, 474–486
table view controller for, 442–451
Name string, 86
naming
cells, 502
navigation bar, 486
outlets, 177
navigation bar, renaming, 486
Navigation-based Application template, 33, 54
Navigation Controller
adding, 476
MyStory app, 264–265, 270, 280
Navigation Pane, 37
Navigator View, 64, 123, 140–141
neurology, learning and, 217–220
New Project wizard, 58, 106, 160–162
nib files, 36, 49, 93–96, 112, 141
nonatomic directives, 189
nonatomic property, 118, 131–138
NSArray object, 192
NSObject object, myPos file, 389–392
NSString statement, 86–88, 98–99
NSURL class, 248
NSURLRequests, 312
NSZombie, for debugging, 328
Objective-C class, 362
online help for Xcode IDE, 358
openURL method, 248
organization, of files, 450–451
orientation, 516
Outlet code, 75
outlets
adding images to tabs in switches app, 241–242
adding to touchesViewController header file, 176–182
creating, 40
using on @properties, 394
Output NSString, 86
Output string, 86
PARC (Palo Alto Research Center), 18
Parent class, 96
parser feeds, testing, 410
parser method, starting, 410–412
adding methods to view controller, 410
getting data from web, 409
overview, 433
starting parser method, 410–412
starting point, 409
testing parser feed, 410
PDFs, for this book, 31
performSegueWithIdentifier, 282, 297
Peterson, Steven, 406
platforms, myiTunes application, 487–520
Master-Detail application template, 490–491
preliminaries, 489
plist file, 111
plus sign (+) symbol, 95
.png file, 60
Pointer Reference, 62
popovers, 519
organizing in storyboard, 493–502
overview, 488
pound sign (#) symbol, 149
prepping before coding, importance of, 388
Press Command + Tab, 58
private member variables, 453
Pro iOS 5 Tools, 357
Product Name box, 59
programming landscape, 23
project, adding images to, 224–227
Project Navigator icon, 37
Properties frame, 116
MKAnnotation, 390
MKMapViewDelegate, 394
pseudoiPad, 53
Quick Help, Xcode, 97, 358–359
QuikMaps app, 369
radio operators locator app, 412–421
read-only objects, 136
read-write objects, 136
Redraw View Mode, Xcode, 253
resources, Beginning iPhone 4 Development, 20
retain directives, 99, 118, 131–134, 136–138, 189
return type, 79
Root View Controller, MyStory app, 270, 272
Round Rect Button, MyStory app, 268
Routesy Bay Area San Francisco Muni and BART app, 406, 408
Run button, 91
running apps
on physical devices, 55
runtime, vs. compile-time, 253
Safari, 11
sandboxing, 248
saving work, 49
Scale To Fill View Mode, Xcode, 251
Scheme drop-down menu, 52
SDK (Software Development Kit), 1, 7
Search for location function, 364
Second View controller, switch-mistake app, 340
Second View, Tabbed Application, 230, 237–242
SecondViewController.m file, 350
SecondViewController.xib file, 239
security verification window, 15
segues, 265, 270, 273, 281, 283–284, 293
pronunciation and definition of, 432
ShowMapDetail, 473
setAnimationTransition method, 212
Shark, for debugging, 328
shortcuts
Command + Q shortcut, 34, 52, 55, 58
Command + Return shortcut, 74
Command + S shortcut, 40, 83, 146
Command + Shift + N shortcut, 35
Command + Tab shortcut, 34, 55, 60
Control + Command + Down Arrow shortcut, 73
Control + Command + Up Arrow shortcut, 73
Control+S shortcut, 49
Show this window when Xcode launches option, 26
ShowMapDetail segue, 473
Shrink button, touches app, 157, 201–208
adding action to header file, 184–186
adding to header file, 181–182
creating scaling for, 194
naming, 170
tracking state of, 183
SIGABRT error, 81
Single View Application template, 106, 160, 258, 374
single view template, in myStory_02 app, 436–437
software, checking for new, 6
Software Development Kit (SDK), 1, 7
splash screen images, 520
moving to correct folders, 386–387
overview, 383
split views, overview, 488
Standard Editor, 45–46, 73–74, 139
Standard program, 10
Standard View, 83
start state, setting, 192
statements, writing, 130
static analysis, for debugging, 359
static cells, creating grouped, 496
static identifier, 399
Storyboard file, for MapKit framework, 401–403
Storyboarding, overview, 253
storyboards
in myStory_02 app, 440–441, 474–486
organizing popover in, 493–502
strings, in helloWorld_03 app, 86
structs, touches app, 157
subtitles, creating for Table View Cell, 497
superviewDidLoad superclass, 191
Supporting Files folder, 60–62, 109
and Content View Modes, 251–253
images for
obtaining, 221
comparing source files, 347–356
symbol navigator pane, 41
synthesisc concept, 146
synthesizestatments, 130
Tab key, 47
Tabbed Application template, 222, 330
Table View Controller
associating with myMasterTableViewController, 457–458
Table Views, populating, 495
Tall Eye app, 370
templates
File templates, 98
Master-Detail application, 490–491
Navigation-based Application template, 33, 54
Single View Application template, 106, 160, 258, 374
single view template, in myStory_02 app, 436–437
Tabbed Application template, 222, 330
View-based Application template, 35, 58, 106
test app, creating, 28
testViewController.h file, 29
text
buttons, changing with state, 202
editor, for debugging, 327
text property, 88
textBox, 75–77, 81–82, 86, 88, 96, 99
textFieldShouldReturn method, 88–89
toolbag, 88
analyzer, 359
Debugger Console window, 357
debugger window, 327
documentation, 358
FileMerge.app, 329
Fix-it, 357
GDB console, 327
NSZombie, 328
Shark, 328
text editor, 327
unit testing, 328
Top Left View Mode, Xcode, 252
andCGAffineTransformstructs, 157–182
implementation file for, 191–213
CGAffineTransformMakeScale method, 194
CGAffineTransformMakeTranslation method, 194–195
setting background image, 195–196
synthesis in, 191
touchesViewController header file
connecting items to code, 174–182
touchesViewController.m file, 191–194
touchesViewControllernib file, 167
traffic monitoring app, 425–429
transitions, MyStory app, 274
Twitter Spy app, 370
Ü character, creating, 315–320
Über Geek controller, MyStory app, 298, 302, 314
UIButton class, 182
UIButtonView, 280
UIImage, using with imageNamed method, 193
UIImageViews class, 65, 113, 117, 126, 131, 133, 136, 138, 171–172
MyStory app, 279
switch-mistake app, 339
UIKit class, 130–134, 136–138, 152
UILabel class, 41, 44, 117–118, 131, 133–134, 136–138
UINavigationController, 264
UIView
coding Change button, 211
forMyStory app, 261
UIViewAnimationCurveEaseInOut method, 211
UIViewController class, 40–41, 44, 131–132, 134, 137, 304, 446–448
UIViewControllers, MyStory app, 279
unit testing, for debugging, 328
Use Automatic Referencing Counting option, 59
Use Storyboard option, 59
user interface, for helloWorld_03 app
Utilities folder, 39
Utilities Icon, 37
Utilities Inspector pane, 69, 337
Utilities Pane, 37, 65, 80, 263
videos
myiTunes app files, 489
myStory 01, 373
MyStory app, 257
switches app, 221
touches app, 156
View-Based App option, 53
View-based Application icon, 58
View-based Application template, 35, 58, 106
adding methods to, 410
implementation file for, 395–399
adding Web View to, 302
placement of, 282
setting class of, 308
View Design area, 63–65, 67–69, 72–74, 93
View frame, 113
VIEW section, 152
View Selector option, 37, 40, 45
ViewController class, 36, 43–46, 84, 131, 136, 153
ViewController.h file, 44, 131, 136
ViewController.m file, 44
ViewController.xib file, 36
viewDidLoad method, 143, 344–346
myStory 01 app, 395
viewDidLoad, switches app, 242
viewing controls, Xcode, 262
views
APRS Map app, 419
in switch-mistake app, 334, 343
wallpapers, arrays of, 192–193
web browser, Safari, 11
web, getting data for parsing from, 409
Web View, MyStory app, 302–314
webView outlet linkage, 313
Welcome to Xcode screen, 25–26, 34
work, saving, 49
Wozniak, Steve, 18
writing statements, 130
Xcode
for Lion link, 13
shrinking size of, 163
touches app, 160
Xcode folder, 36
.xib files, 36, 93–96, 132, 153
creating, 462
nonatomic, 189
retain, 189
synthesizing, 191
yourName variable, 149
zoom modes, Xcode, 262