Cocoa Programming for Mac OS X - Aaron Hillegass [149]
NSInvocation and, 145
overview of, 145
windows and, 158
NSURL class, 359
NSURLConnection
fetching data from Web service, 361–363
asynchronous, 377–381
NSURLRequest, 359, 361–363
NSUserDefaults, 207, 210–211
NSUserDefaultsController, 217
NSValueTransformer, 351
NSView
with cells, 253–254
custom views with, 241
drawing with NSBezierPath, 248–250
drawRect, 246–248
generating PDF data, 291–293
inheritance diagram for NSControl, 84–85
inheriting from NSResponder, 257
keyboard events. See keyboard events
Size Inspector, 244–246
starting drag, 312–313
NSViewController, 397, 399, 403
NSWindow
sheets. See sheets
becoming firstResponder, 271–272
initialfirstresponder outlet, 94
view hierarchy, 241–242
NSWindowController
defined, 163
document architecture, 167
loading NIB file without, 205
loading NIB files with. See NIB files and NSWindowController
pasteboards and nil-targeted actions, 301
NSWorkspace, 369
NSXMLDocument, 359–360
NSXMLNode, 359–360
NSXMLParser, 360, 363–366
NSXMLParserDelegate, 362, 364–366
O
Object Library, 17–18
object-oriented programming, Cocoa as, 5–6
object relationships, as focus of ARC, 81–82
objectAtIndex method, NSArray, 45
Objective-C
awakeFromNib method, 30–31
declaring classes in, 25
editing implementation file, 27–28
header file, 26–27
how messaging works, 65–66
instances, 35–37
Objective-C 2 features, 4
overview of, 35
single inheritance in, 26
static analyzer, 63–64
types and constants in, 26
Objective-C, creating own classes
implement description method, 52–53
initializers with arguments, 56–58
overview of, 48–49
initializers, 55–56
objects
archiving. See archiving
within blocks, 375–376
creating, sending messages to and destroying, 35–37
overview of, 5–6
retain count system, 69–70
observers
defined, 221
NSNotificationCenter methods, 222–224
one-to-one relationship in Core Data 407–408
Open menu item, NSDocument, 166–167
Open Recent menu item, NSDocument, 166–167
OpenGL
Core Animation. See Core Animation
overview of, 441
OpenOffice, NSAtrributedString file format, 288
OpenStep, 2–3
operators, in key paths, 126–127
opt-in garbage collector, Objective-C 2, 4
@optional, protocol, 173
ordered to-many relationships, key-value coding, 148–149
outlets
defined, 21
making connections, 23–25, 91–94
ownership, object, 76
P
pagination when printing, 353–357
panels
adding to application, 194–196
general windows vs., 193–194
parse method, NSXMLParser, 365–366
parse XML document, Web services, 359–360
partial strings, formatter that checks, 348–350
paste, 298–302. See also drag-and-drop
pasteboards
lazy copying, 304–305
nil-targeted actions and, 300–302
NSPasteboard, 296–298
overview of, 295–296
UTIs and, 303
PDFs
copying image on pasteboard as, 295
getting your view to generate, 291–293
printing, 353
Quartz generating, 2
using Cartesian coordinate system, 255
performance overhead
autorelease message, 79
garbage collector, 68
performDragOperation: message, 316, 318
performSelectorInBackground:withObject: method, 430–431, 435
performSelectorOnMainThead:withObject: waitUntilDone: method, 430–431
placeholder string, text fields, 87–89
plist
dumping localized strings into, 239–240
specifying application entitlements, 467
PNG image, copying data onto pasteboard as, 295
po (print-object)
debug console, 60
NSObject, 44
pointer
nil value and, 139
NSArray as list of, 45
using contextInfo when starting sheet as, 335–336
Pop-up button, 397–399, 402–403
posting notifications, 224–227
Powerbox, and mediated file access, 468
#pragma, 259
Preferences panel, creating
adding to application, 194–196
user defaults. See user defaults
prepareForDragOperation: message, 315–318
prepareWithInvocationTarget: method, NSUndoManager, 146–147
preprocessor macros, 62, 462–464
print-object (po)
debug console, 60
NSObject, 44
printing
drawing differently