#pragma mark, 325
@ symbol, 36
_ (underscore character), 36
{} curly braces, 49
3.5-inch screens, previewing constraints, 144-145
about scene (CarValet project), creating, 263-264
about view, adding to universal CarValet app, 383-385
menu images, polishing, 385-387
abstracting out code, 84
accelerometer-simulator project (Google Code), 9
dot notation, 53
Accounts pane (Xcode), 495-497
action selectors, implementing, 434-435
adding to add/view scene (CarValet project), 74-77
IBAction identifier, adding to view controller, 112-115
ad hoc testing providers, 510
adapting cars table for iPad, 401-404
adding
cars to table (CarValet project), 287-288
color themes to navigation controllers, 264-267
German locale to CarValet project, 203-206
icons to asset catalog, 257-259
recognizers to DetailController, 446
references to constraints, 163-166
scroll view to edit scene (CarValet project), 231-234
search capability to tables, 361-369
add/view scene (CarValet project)
car display behaviors, adding, 82-85
navigation controllers, 257
replacing with table view controller-based scene, 283-285
toolbar
visual elements, adding
app ID, generating, 499
app listing
category, selecting, 516
EULA, 519
screenshots, 519
App Store, uploading apps to, 521-526
configuring the project, 521-522
setting up the project scheme, 522-523
Appearance protocol, 267
Apple iOS Developer Programs, 3
Apple Online Developer Program, 3
apps
Core Data, preparing for use in, 323-325
designing, holistic goals, 66
launching in Instruments, 470
tethering, 10
uploading to App Store, 521-526
Arabic internationalization, 215-223
Arabic strings, adding, 215-219
ARC (Automatic Reference Counting), 31
arrows, using in toolbars, 263
asset catalog, adding icons, 257-259, 504-505
assistant editor preview mode, 145-148
attaching recognizers to a view, 442
attributes of recognizers, 427
audio, differences among platforms, 16
audio system on iOS Simulator, 9
Assistant editor preview mode, 145-148
bottom layout guides (IB), 176-178
changing for orientation, 162-163
completeness of specification, 133-134
content compression resistance, 150
content hugging, 150
intrinsic content size, 134
invisible container views, 137
top layout guides (IB), 176-178
base initializer, CarValet project, 49
Base localization, 184
batteries, energy considerations for mobile app development, 13
behaviors
adding to add/view scene (CarValet project), 72-77
car display behaviors, adding (CarValet project), 82-85
editor behaviors, adding to edit scene (CarValet project), 94-97
of table views, 277
blocks, 453
calling, 454
pulsing animation, adding, 456-460
replacing protocols with, 462-466
scoped variables, modifying, 462
Boolean type (Objective-C), 34
bottom layout guides (IB), 176-178
adding to CarValet project scenes, 230
exception breakpoints, 486
symbolic breakpoints, 485
build number, 526
buttons
localizing in add/view scene (CarValet project), 195-197
Next Car button, adding to CarValet project, 86-89
Previous Car button, adding to CarValet project, 86-89
Xcode
Editor buttons, 27
Run button, 26
calling
blocks, 454
functions in Objective-C, 32-35
camel case, 36
camera, differences among platforms, 16
canalys.com, 18
Car class, adding to CarValet project, 42-44
car detail controller, iPad-specific, 407-424
disabling car editing, 420-421
popover behavior modifications, 421-424
car display behaviors, adding (CarValet project), 82-85
car image scene (CarValet project), scrolling, 240-249
scroll view, populating, 241-243
updating label with index of current car image, 249-250
car view cell, adding to table view controller (CarValet project), 285-287
cars table
converting for Core Data, 326-332
accessing data with managed property context, 327-328
adding and deleting cars, 328-329
adding managed property context, 326
switching to CDCar object class, 330
index, displaying year in, 357-358
details for found car, displaying, 365-367
predicate, adding to fetched results controller, 362-365
user-initiated editing, 289-291
CarValet project. See also universal CarValet app, creating
add/view scene
navigation controllers, 257
replacing with table view controller-based scene, 283-285
visual elements, adding, 67-72
Arabic internationalization, 215-223
Arabic strings, adding, 215-219
base initializer, 49
cars
cars table
displaying year in index, 357-358
user-initiated editing, 289-291
constraints
adjusting for screen height, 155
New Car button, 151
top-level view constraints, 138-141
for Total Cars label, 151
Core Data, adding CDCar model, 321-324
disclosure indicator, adding to car data cell, 291-292
resizing scroll view for keyboard, 234-240
German internationalization, 203-215
German locale, adding, 203-206
label constraints, changing, 209-213
Localizable.strings, updating, 207-209
landscape orientation, 156-180
constraints, creating, 167-169
constraints, designing, 158-159
top-level view constraints, 159-162
make and model edit scene
ViewCarProtocol, adding, 303-305
model year edit scene, 307-314
year edit protocol, adding, 312-314
year editor, setting up, 308-309
Next Car button, adding, 86-89
encapsulation, 51
tab bar
adding, 270
car images, moving to, 271-272
dynamically updating items, 272-273
table view controller, adding car view cell, 285-287
view car scene
swipes, enabling support for, 428-438
categories, 324
caution icon (IB), 149
CDCar model, adding to CarValet project, 321-324
cells
car view cell, adding to table view controller (CarValet project), 285-287
populating, 345
visual elements, adding, 343-344
deletions, 289
index paths, 282
certificates, 494
changing
constraints
rotation, handling, 162-163, 172-176
Chisnall, David, 419
chitika.com, 18
Clair, Robert, 31
class clusters, 40
#pragma mark, 325
camel case, 36
categories, 324
forward references, 95
implementation file, 35
navigation controller classes, 256-257
NSCalendar, 189
NSDate, 189
NSDateComponents, 189
NSDateFormatter, 188
NSLayoutConstraint, 120
NSNumberFormatter, 188
NSTimeZone, 189
prefixes, 24
reducing dependencies between, 332
singletons, 387
superclasses
initializing, 40
responding to open and closed keyboard, 237-239
UIGestureRecognizer, 427
ViewController class, modifying, 110-112
closed keyboard, responding to, 237-239
Cocoa Touch, 7
color themes, adding to navigation controllers, 264-267
comparing
iOS device platforms
audio, 16
camera, 16
Core Location, 17
Core Motion, 17
OpenGL ES, 18
vibration support, 17
landscape and portrait orientation constraints, 161
VCL and full specification, 168
configuring form views, 233-234
constants, gesture state constants, 440-441
constraints, 120-131. See also VCL (Visual Constraint Language)
Assistant editor preview mode, 145-148
bottom layout guides (IB), 176-178
completeness of specification, 133-134
content compression resistance, 150
content hugging, 150
creating, 122
designing for CarValet project
adjusting for screen height, 155
landscape orientation, 156-180
New Car button, 151
top-level view constraints, 138-141, 159-162
Total Cars label, 151
generating from strings, 170-172
intrinsic content size, 134
invisible container views, 137
landscape orientation
comparing with portrait orientation, 161
top-level view constraints, 159-162
for scroll views, 235
top layout guides (IB), 176-178
auto layout issues popup, 154-155
containers, invisible container views, 137
content compression resistance, 150
content hugging, 150
Continuous Flow state (recognizers), 439
controller layer (MVC), 318
converting
cars table for Core Data, 326-332
accessing data with managed property context, 327-328
adding and deleting cars, 328-329
adding managed property context, 326
switching to CDCar object class, 330
between coordinate spaces, 236-237
coordinate spaces, converting between, 236-237
CDCar model, adding to CarValet project, 321-324
classes, 319
converting cars table for use, 326-332
accessing data with managed property context, 327-328
adding and deleting cars, 328-329
adding managed property context, 326
switching to CDCar object class, 330
entities, 319
fetched results controller, 332-339
NSFetchedResultsController, integrating, 333-335
NSFetchedResultsController-Delegate, implementing, 336-339
stores, 319
Core Location, differences among platforms, 17
Core Motion, differences among platforms, 17
CoreData framework, adding to projects, 320-321
Cox, Brad J., 31
creating
cars for CarValet project, 53-54
constraints, 122
landscape orientation, 167-169
distribution provisioning profile, 501-503
return gesture recognizer, 442-447
table views
universal CarValet app, 374-382
app section navigation, adding, 379-382
car images view controller, adding, 397-400
menu, accessing in portrait, 387-396
split view controller, adding, 376-379
populating, 345
visual elements, adding, 343-344
return gesture recognizer
return gesture recognizer, creating, 442-447
data access, designing for mobile apps, 11-12
david-smith.org, 18
debugger (iOS SDK), 7, 479-486
EXC_BAD_ACCESS errors, troubleshooting, 489-491
process view, 480
debugging strokes, 447
declaring
properties, 50
defaults, 79
defining
delegates, 46
make and model edit scene (CarValet project), preparing for, 300-303
deleting
cell data, 289
description, adding to app listing, 517-518
designing for mobile apps
application considerations, 13-14
data access considerations, 11-12
energy considerations, 13
holistic goals, 66
interaction considerations, 12-13
memory considerations, 12
storage considerations, 11
use behavior considerations, 14-15
detail view controller, 372
DetailController
adding recognizers to, 446
implementing in universal CarValet project, 388-396
singleton, setting up, 391-393
UISplitViewControllerDelegate, adding, 389-391
Developer Enterprise Program, 4-5
Developer University Program, 5
development certificate, generating, 495-497
devices
adding to provisioning profile, 497-498
dimensions, resizing. See auto layout
disabling
recognizers, 438
disclosure indicator, adding to car data cell, 291-292
displaying
year in cars table index, 357-358
distribution provisioning profile, 497-498
dividers, adding to add/view scene (CarValet project), 71-72
documentation, iOS Human Interface Guidelines, 494-495
double strings, faking localization with, 193-195
drag gesture recognizers, 448-450
dragging out constraints, 130-131
dynamically updating tab bar items, 272-273
edit scene (CarValet project), 89-106
editor behaviors, adding, 94-97
scroll view
resizing for keyboard, 234-240
visual elements, adding, 91
editing CarValet project header file, 44-45
editor behaviors, adding to edit scene (CarValet project), 94-97
Editor buttons (Xcode), 27
enabling support for swipe gestures, 428-438
encapsulation, 51
entities (Core Data), 319
enumerated types, 303
EULA (end user license agreement), 519
event aggregators, 529
EXC_BAD_ACCESS errors, troubleshooting, 486-491
with Zombies Instrument template, 486-489
exception breakpoints, 486
exchanging data with protocols, 108-112
faking localization with double strings, 193-195
fetched results controller, 332-339
NSFetchedResultsController, integrating, 333-335
NSFetchedResultsControllerDelegate, implementing, 336-339
section headers, displaying, 346-347
finding icons, 259
flurry.com, 18
form view, configuring for scroll view, 233-234
forward references, 95
functions, calling in Objective-C, 32-35
gartner.com, 18
generating
app ID, 499
constraints from strings, 170-172
development certificate, 495-497
German internationalization, 203-215
German locale, adding, 203-206
label constraints, changing, 209-213
Localizable.strings, updating, 207-209
gestures, 427
iPhone action selectors, enabling, 434-435
adding to DetailController, 446
attaching to a view, 442
attributes, 427
disabling, 438
strokes, debugging, 447
swipes, enabling support for, 428-438
target/action pairs, 428
Google Code, accelerometer-simulator project, 9
groups, 345
header files, 35
Hello World project
hierarchies of content, 254-255
leaf nodes, 254
root scene, 255
holistic goals for app design, 66
hooking scenes together, 98-105
prepareForSegue:sender method, 103-105
HybridCar class
creating for CarValet project, 58-62
IB (Interface Builder), 6
constraints
toolbar
auto layout issues popup, 154-155
adding to view controller, 112-115
ibtool, localizing storyboard strings with, 198
icons
adding to asset catalog, 257-259, 504-505
caution icon (IB), 149
magnifying glass, adding to indexes, 367-369
sources of, 259
idc.com, 18
identifying constraint issues, 149-150
implementation file, 35
encapsulation, 51
constraints for CarValet project, 141-144
picker for model year edit scene (CarValet project), 309-312
index paths, 282
indexes
cars table, displaying year in, 357-358
magnifying glass, adding, 367-369
properties, 356
initializing
superclasses, 40
instance variables, properties, 50-53
EXC_BAD_ACCESS errors, troubleshooting with Zombies template, 486-489
launching apps in, 470
templates, 471
integrating NSFetchedResultsController, 333-335
interaction, designing for mobile apps, 12-13
Editor buttons, 27
Navigator, 27
Run button, 26
status area, 26
utilities area, 27
internationalization, 189
Arabic internationalization, 215-223
Arabic strings, adding, 215-219
German internationalization, 203-215
label constraints, changing, 209-213
localizable.strings, updating, 207-209
intrinsic content size, 134
invisible container views, 137
iOS Developer Programs, 3
Developer Enterprise Program, 4-5
Developer University Program, 5
registration, 5
standard iOS Developer Program, 4
iOS Human Interface Guidelines, 7, 494-495
iOS Simulator, 6
audio system, 9
keychain security, 9
localization, 9
Video Out emulation, 10
iPad
returning to default state with custom recognizer, 442-447
universal CarValet app, creating, 374-382
app section navigation, adding, 379-382
car images view controller, adding, 397-400
menu, accessing in portrait, 387-396
split view controller, adding, 376-379
iPhone action selectors, enabling, 434-435
iSimulate, 9
ISO 639.2 standard, 185
isolating problems with Instruments, 474-476
Jobs, Steve, 31
keyboard
handling for scroll views, 234-240
support on iOS devices, 12
keywords, @ symbol, 36
KVC (Key Value Coding), 419
labeling
add/view scene (CarValet project), 68-70
constraints, designing, 158-159
constraints
adding to CarValet project, 169-172
comparing with portrait orientation, 161
language support. See localization
launching apps in Instruments, 470
leaf nodes in hierarchies of content, 254
limitations of iOS Simulator, 8-10
audio system, 9
keychain security, 9
literals, 31
localization. See also internationalization
Base, 184
faking with double strings, 193-195
on iOS Simulator, 9
ISO 639.2 standard, 185
language preferences, setting, 183-184
version control, 192
Macintosh Developer Program, 4
macosrumors.com, 18
macros, localed string macros, 202
macworld.com, 18
magnifying glass, adding to indexes, 367-369
MainMenuViewController, creating for universal CarValet app, 383-385
make and model edit scene (CarValet project)
MakeModelEditViewController class, 297-300
ViewCarProtocol, adding, 303-305
MakeModelEditViewController class, 297-300
interest, 513
open-source projects, 511
master view controller, 372
memory
mobile apps, designing for, 12
message-based navigation, 263-264
messages
protocols, 46
sending, 47
sending with Objective-C, 32-35
methods, 33
dot notation, 53
camel case, 36
prepareForSegue:sender method, 103-105
mobile apps, designing for
application considerations, 13-14
data access considerations, 11-12
energy considerations, 13
interaction considerations, 12-13
memory considerations, 12
storage considerations, 11
use behavior considerations, 14-15
modal presentation, 275
model layer (MVC), 318
model year edit scene (CarValet project), 307-314
year edit protocol, adding, 312-314
year editor, setting up, 308-309
modifying
scoped variables of blocks, 462
moving car images to tab bar, 271-272
multiple string tables for localization, 202
MVC (Model-View-Controller), 318
controller layer, 318
model layer, 318
view layer, 318
navigation controllers, 253-267
dynamically updating items, 272-273
hierarchies of content, 254-255
leaf nodes, 254
message-based navigation, 263-264
adding to CarValet project, 270
car images, moving to, 271-272
arrows, 263
UINavigationController, 256
Navigator (Xcode), 27
NDA (non-disclosure agreement), 8
new cars, adding to table (CarValet project), 287-288
NeXT, 31
Next Car button, adding to CarValet project, 86-89
notifications, 14
responding to open and closed keyboard, 237-239
NSCalendar class, 189
NSDate class, 189
NSDateComponents class, 189
NSDateFormatter class, 188
NSFetchedResultsController, 332-339
NSFetchedResultsControllerDelegate, implementing, 336-339
NSIndexPath object, 282
NSLayoutConstraint class, 120
NSManagedObjectContext class, 319
NSManagedObjectModel class, 319
NSNumberFormatter class, 188
NSPersistentStoreCoordinator class, 319
NSTimeZone class, 189
numbers
Arabic internationalization, 219-222
German internationalization, 213-215
@ symbol, 36
Boolean type, 34
camel case, 36
implementation file, 35
implementation file, defining, 37-38
methods, 33
selector, 47
underscore character (_), 36
object-oriented programming, 31
defaults, 79
delegates, 46
NSIndexPath, 282
targets, 428
observers, responding to open and closed keyboard, 237-239
open keyboard, responding to, 237-239
OpenGL ES, differences among platforms, 18
orientation. See also portrait orientation, constraints; landscape orientation
constraints, changing to handle rotation, 162-163
rotation
constraints, changing to handle rotation, 172-176
scroll views, handling, 248-249
parameters of methods, 34-35, 45
performance, metrics gathering, 508-509
performance tools (iOS SDK), 6
persistence, Core Data, 318-320
CDCar model, adding to CarValet project, 321-324
converting cars table for use, 326-332
entities, 319
fetched results controller, 332-339
stores, 319
pickers, 308
implementing for model year edit scene, 309-312
pixels, 120
platforms (iOS devices)
differences in
audio, 16
camera, 16
Core Location, 17
Core Motion, 17
OpenGL ES, 18
vibration support, 17
Plausible Crash Reporter project, 506
points, 120
populating
custom cells, 345
view car scene (CarValet project), 294-296
popups (IB)
auto layout issues popup, 154-155
portrait orientation, constraints, 131-132
designing for CarValet project, 134-141
implementing for CarValet project, 141-144
postlaunch activities, 525
predefined cells, creating (TableTry project), 279
predicate, adding to fetched results controller, 362-365
prefixes, 24
prelaunch activities
interest, 513
open-source projects, 511
prepareForSegue:sender method, 103-105
preparing
make and model edit scene (CarValet project) for delegate, 300-303
previewing constraints, 144-145
Previous Car button, adding to CarValet project, 86-89
printing cars for CarValet project, 53-54
privacy laws, 509
private keys, 494
process view (debugger), 480
processor speeds, differences among platforms, 17-18
Project Editor, 6
projects
CarValet. See CarValet project
universal projects, creating, 374-382
Xcode
declaring, 50
encapsulation, 51
of table indexes, 356
variables
temporary, 78
Appearance protocol, 267
replacing with blocks, 462-466
reusability, 107
ViewController class, modifying, 110-112
year edit protocol, adding to model year edit scene, 312-314
provisioning profile, adding devices to, 497-498
public keys, 494
pulsing animation, adding, 456-460
Push notifications, 14
QA (quality assurance) testing, 509-512
memory-related, 78
adding to DetailController, 446
attaching to a view, 442
attributes, 427
return gesture recognizer, creating, 442-447
disabling, 438
drag gesture recognizers, 448-450
redirection
Base localization, 184
ISO 639.2 standard, 185
project-level localization, 184-185
reducing dependencies between classes, 332
references, adding to changing constraints, 163-166
registering for iOS Developer Programs, 5
removing
cars from table (CarValet project), 288-291
replacing
add/view scene (CarValet project) with table view controller-based scene, 283-285
protocols with blocks, 462-466
resizing
dimensions. See auto layout
keyboard for scroll views, 234-240
resources
responding
to open and closed keyboard, 237-239
retina, 120
return gesture recognizer
return gesture recognizer, creating, 442-447
reusability of protocols, 107
right-to-left languages, internationalization, 215-223
Roadley, Tim, 318
root views, 255
rotation
constraints, changing for orientation, 162-163, 172-176
scroll views, handling, 248-249
Run button (Xcode), 26
Sadun, Erica, 456
about scene (CarValet project), 263-264
add/view scene (CarValet project)
car display behaviors, adding, 82-85
replacing with table view controller-based scene, 283-285
car image scene (CarValet project), scrolling, 240-249
edit scene (CarValet project), 89-106
prepareForSegue:sender method, 103-105
make and model edit scene (CarValet project)
ViewCarProtocol, adding, 303-305
model year edit scene (CarValet project), 307-314
year edit protocol, adding, 312-314
year editor, setting up, 308-309
view car scene (CarValet project)
scoped variables, modifying, 462
screen size
auto layout, 117-131. See also auto layout
differences among platforms, 15-16
intrinsic content size, 134
standard distance, 119
toggling (view controllers), 145
screens, 65
screenshots, providing for app listing, 519
scroll views
adding
to add/view scene (CarValet project), 227-230
to edit scene (CarValet project), 227-234
constraints, 235
form view, configuring, 233-234
scrolling, bounce scrolling, 227-230
SDKs
iOS Developer Programs, 3
Developer Enterprise Program, 4-5
Developer University Program, 5
Macintosh Developer Program, 4
registration, 5
standard iOS Developer Program, 4
searching table views, 358-369
predicate, adding to fetched results controller, 362-365
index paths, 282
selecting category for your app, 516
selectors, 47
iPhone action selectors, enabling, 434-435
responding to open and closed keyboard, 237-239
self-configuring content views, 233-232
sending messages, 47
setting language preferences, 183-184
simulator, changing device language, 206-207
singletons, 387
DetailController singleton, implementing, 388-396
Smalltalk, 31
Smith, David, 18
sorting, 345
sources of icons, 259
split view controller, 372-374
detail view controller, 374
master view controller, 373
universal CarValet app, creating
car detail controller, 407-424
car images view controller, adding, 397-400
DetailController singleton, implementing, 388-396
standard distance, 119
standard iOS Developer Program, 4, 59-61
status area (Xcode), 26
storage
CDCar model, adding to CarValet project, 321-324
classes, 319
converting cars table for use, 326-332
entities, 319
fetched results controller, 332-339
mobile apps, designing for, 11
stores (Core Data), 319
edit scene (CarValet project), 89-106
screens, 65
strings, localizing with ibtool, 198
string tables
multiple string tables, 202
strings
Arabic strings, adding for internationalization, 215-219
generating constraints from, 170-172
localization
faking localization with double strings, 193-195
storyboard strings, localizing with ibtool, 198
strokes, debugging, 447
strong qualifier, 78
subclasses, inheritance, 39-40, 59-62
subscripting, 31
superclasses, 40
initializing, 40
responding to open and closed keyboard, 237-239
iPhone action selectors, enabling, 434-435
recognizers
disabling, 438
symbolic breakpoints, 485
syntax
adding to CarValet project, 270
car images, moving to tab bar, 271-272
dynamically updating items, 272-273
table view controllers, adding car view cell, 285-287
behaviors, 277
CarValet project
user-initiated editing, 289-291
cells
deleting, 289
populating, 345
visual elements, adding, 343-344
groups, 345
index paths, 282
indexes
properties, 356
predicate, adding to fetched results controller, 362-365
sorting, 345
index paths, 282
predefined cells, creating, 279
target audience for iOS Developer Programs, 3
targets, 428
telephony, differences among platforms, 16-17
templates (Instruments), Time Profiler, 472-478
temporary variables, 78
ternary operators, 83
testing
apps, 479
tethering, 10
tethering, 10
text alignment, Arabic internationalization, 222-223
text color of buttons, changing, 266-267
text fields, adding to edit scene (CarValet project), 91
third-party bug reporting services, 507
Time Profiler template (Instruments), 472-478
toggling between screen sizes (view controllers), 145
toolbar (IB)
auto layout issues popup, 154-155
arrows, 263
top layout guides (IB), 176-178
top-level view constraints (CarValet project)
landscape orientation, 159-162
touchscreen interaction, designing for mobile apps, 12-13
adding to view cars scene (CarValet project), 305-306
troubleshooting
auto layout issues popup, 154-155
landscape orientation, 178-180
EXC_BAD_ACCESS errors, 486-491
with Zombies Instrument template, 486-489
search code, 361
tuaw.com, 18
UI (user interface), Xcode, 25-27
Editor buttons, 27
Navigator, 27
Run button, 26
status area, 26
utilities area, 27
UIBarButton class, 256
UIGestureRecognizer class, 427
UILabel, 82
UINavigationBar class, 256
UINavigationController, 253, 256
hierarchies of content, 254-255
UINavigationItem class, 256
UIPickerView, 307
UIScrollView, 225-226, 240-250
UISplitViewController, 371
UITabBar class, 269
UITabBarController, 253, 268-273
UITabBarItem class, 269
UITextField, 91
UIToolBar class, 256
underscore character (_), 36
universal CarValet app, creating
MainMenuViewController, creating, 383-385
menu images, polishing, 385-387
app section navigation, adding, 379-382
car detail controller, 404-406
car images view controller, adding, 397-400
car table, adapting to iPad, 401-404
menu, accessing in portrait, 387-396
DetailController singleton, implementing, 388-396
split view controller, adding, 376-379
updating
labels of car image scene, 249-250
uploading apps to App Store, 521-526
configuring the project, 521-522
setting up the project scheme, 522-523
user-initiated editing (cars table), 289-291
utilities
ibtool, localizing storyboard strings with, 198
utilities area (Xcode), 27
variables, 31
temporary, 78
variables view (debugger), 480-481
VCL (Visual Constraint Language), 166-168
versus full specification, 168
version control, 192
vibration, support for in iOS devices, 17
Video Out emulation (iOS Simulator), 10
videos, WWDC, 5
view car area (CarValet project), constraints, 151-154
view car scene (CarValet project)
swipes, enabling support for, 428-438
view controllers
IBAction identifier, adding, 112-115
responding to open and closed keyboard, 237-239
ViewController class, modifying, 110-112
view layer (MVC), 318
ViewCarProtocol, adding to make and model edit scene (CarValet project), 303-305
views
attaching recognizers to, 442
Assistant editor preview mode, 145-148
bottom layout guides (IB), 176-178
changing for orientation, 162-163
completeness of specification, 133-134
content compression resistance, 150
intrinsic content size, 134
top layout guides (IB), 176-178
invisible container views, 137
root view, 255
screen sizes, toggling, 145
scroll views
adding to add/view scene (CarValet project), 227-230
adding to edit scene (CarValet project), 227-230
constraints, 235
table views
behaviors, 277
groups, 345
sorting, 345
UIPickerView, 307
visual elements
adding
to edit scene (CarValet project), 91
add/view scene (CarValet project)
Wain, Joseph, 259
weak qualifier, 78
canalys.com, 18
chitika.com, 18
flurry.com, 18
gartner.com, 18
glyphish.com, 259
idc.com, 18
macosrumors.com, 18
macworld.com, 18
Plausible Crash Reporter project, 506
tuaw.com, 18
workspaces, 21
WWDC (World Wide Development Conference) videos, 5
Xcode
debugger, 7
Hello World project
IB, 6
constraints, creating, 122-123
Editor buttons, 27
Navigator, 27
Run button, 26
status area, 26
utilities area, 27
iOS Simulator, 6
localization, 9
Video Out emulation (iOS Simulator), 10
performance tools, 6
Project Editor, 6
workspaces, 21
year editor, setting up for model year edit scene, 308-309
Zombies template (Instruments), troubleshooting EXC_BAD_ACCESS errors, 486-489