Cocoa Programming for Mac OS X - Aaron Hillegass [143]
concludeDragOperation: message, drag destination, 316, 318
concurrency
multithreading, 427–429
NSOperationQueue and, 435–438
overview of, 427
simple background threads, 429–431
time profiling in Instruments, 431–435
Connection panel
make connections in Interface Builder, 93–95
Connection to Action, 92
Connection to Outlet, 92–93
connections
Interface Builder, 15, 22–25
console, debugging with, 29, 98
constants, Objective-C, 26
containsObject method, NSArray, 45
content view, view hierarchy, 241–243
contentsGravity property, Core Animation, 423
context pointer, using defensively, 153
contextInfo, sheets, 329, 335–336
Continue button, debugger bar, 60
controller classes
NSArrayController. See NSArrayController
NSController, 129
NSObjectController, 129–130
controls
layout XIB file, 90–94
NSButton, 85–86
NSSlider, 86–87
NSTextField, 87–89
setting target programmatically, 96
target/action of, 83
Convert to Objective-C Automatic Reference Counting, 82
coordinate system, views, 266–268
copy. See also drag-and-drop
blocks, when assigning to instance variables, 375
copy attribute, properties, 125
copy method, retain-count rules for ownership, 76
Core Animation
CALayer, 425
implicit animation and actions, 423–424
overview of, 417
creating custom NSManagedObject classes, 409–411
editing model, 407–408
Core Data framework
creating applications, 130
defined, 6
NSManagedObjectModel, 177–179
overview of, 177
Core Graphics framework. See Quartz
count method, NSArray, 45
currentContext, drawing to screen, 358
currentEvent method, NSApplication, 328
cut, adding, 298–300
D
dataOfType:error: method, 168, 455
dataSource outlet, NSTableView
make connections, 109
date method, NSDate, 54–55
dateByAddingTimeInterval method, NSDate, 54
dealloc method
in ARC, 81
overview of, 72–73
deallocating objects, debugging hints, 98
Debug build configuration
using in development, 98
assertion checking, 62
overview of, 461
Debug navigator, 59
debugger (gdb)
adding exception breakpoints, 60–61
console, 29
debugger bar, 59–60
defined, 5
hints for, 98
print-object feature, 60
using NSAssert(), 61
debugging, with static analyzer, 63–64
DebugLog function, preprocessor macros, 463–464
decoding data, NSCoder, 162–163
defaults. See user defaults
defaults tool, 217–218
delegates
AppKit framework classes, 112
creating, 114
creating helper objects, 100–104
designing, 381
errors in implementing, 112
notifications and, 227
of NSControl, 347–348
NSTableView and, 104–107
pasteboards, nil-targeted actions and, 301
understanding, 113–114
dequeueReusableCellWithIdentifier: method, UITableView in iOS, 393
description method
autoreleasing objects, 73–74
implementing, 52–53
NSObject, 44
printing in debug console, 60
designated initializer, 57
destination, drag, 315–319
dictionaries, 208–209
disk image (DMG), packaging application for download, 466
distributing your application
application sandboxing, 466–468
build configurations, 461–462
Mac App Store, 468–470
preprocessor macros and changing behavior with build configurations, 462–464
release build, 464–466
DMG (disk image), packaging application for download, 466
dock, Interface Builder, 20
document architecture
defined, 131
Info.plist and NSDocumentController, 163–164
NSDocument, 164–167
NSWindowController, 167
overview of, 163
document controller, 163–164
document type information, setting, 170
Documentation and API Reference, 31
documents. See also NSDocument
applications based on, 131
suppressing creation of untitled, 215–216
domains, setting precedence of defaults, 212
dot notation, accessors, 124
drag-and-drop
drag destination, 315–319
drag source, 312–315
operation mask, 319
overview of, 311–312
draggingEntered: message, 316–317
draggingExited: message, 315, 318
draggingSourceOperationMaskForLocal: message, 312–317, 319
draggingUpdated: