Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cocoa in a Nutshell
Preface
What Is Cocoa?
The Cocoa Development Environment
Cocoa Design Patterns
Benefits
Languages
How This Book Is Organized
Conventions Used in This Book
How the Quick Reference Was Generated
Comments and Questions
Acknowledgments
From Mike
From Duncan
I. Introducing Cocoa
1. Objective-C
Objects
Dynamic Typing
Static Typing
Messaging
Structure of a Message
Nested messages
Messaging nil
How Messages Are Resolved into Methods
Selectors
Classes
The Root Class
Defining a Class
The interface
Scoping instance variables
The implementation
Special Variables
Class Methods
Overriding Superclass Methods
Creating Object Instances
Designated initializers
Memory Management
Retaining Objects in Accessor Methods
Deallocating Objects
Categories
Protocols
Naming Conventions
2. Foundation
Data
Immutable Versus Mutable Classes
Basic Types
Strings
Comparing strings
Attributed strings
Working with strings: character sets and scanners
NSCharacterSet
NSScanner
Numbers
Collections
Arrays
Sets
Dictionaries
Enumerators
Memory management in collections
Dates and Time
Binary Data
Key-Value Coding
Working with Files
The File Manager
File Handles
Bundles and Resource Management
Loading Resources
Loading Code
Archiving Objects
Keyed Archiving
User Defaults
Notifications
Operating System Interaction
Process Info
Tasks
Threaded Programming
Locks
NSLock
NSRecursiveLock
NSConditionLock
3. The Application Kit
AppKit Design Patterns
Model-View-Controller
Target/Action
Nibs
Outlets and Actions
Application Architecture
The Application
NSApplicationMain
The application delegate
The run loop
The Window
Delegate methods
The View
Managing the view hierarchy
Controls
Cells
Menus
Sheets
Drawers
Toolbars
Event Handling
Event Objects
The Responder Chain
Document-Based Applications
4. Drawing and Imaging
The Role of Quartz
Coordinate Systems
Graphics Contexts
Working with Paths
Drawing to Views
Line Attributes
Path flatness
Line dashes and phase
Line cap style
Line join styles
Miter limit
Winding rule
Drawing Text
Attributed strings
Working with Color
Working with Images
NSImage
Compositing
Drawing into an image
NSImageRep
NSBitmapImageRep
Transformations
5. Text Handling
Text System Architecture
NSTextView
NSTextStorage
NSLayoutManager
NSTextContainer
How Text Is Laid Out
Assembling the Text System
Layout Scenarios
Simple layout
Paginating text
Multicolumn text
Multiple simultaneous layouts
NSLayoutManager Delegation
6. Networking
Hosts
URL Resources
Working with URLs
URL Handles
Managing subclasses
Rendezvous Network Services
NSNetService
Initializing NSNetService for publication
NSNetService delegate methods
Errors
NSNetServiceBrowser
Searching for domains
Sockets
NSFileHandle
7. Interapplication Communication
NSPipe
Distributed Notifications
Suspending delivery
Distributed Objects
DO architecture
Setting up a server
Connecting to a remote object
DO and threads
Making DO more efficient and reliable
Handling communication failures
8. Other Frameworks
AddressBook
Working with Multiple-Value Objects
Defining New Properties
Searching
Notifications
Odds and Ends
Creating a vCard from a record
Adding an image to a record
The Message Framework
Disc Recording Frameworks
The DiscRecording Framework
DRBurn
DRErase
DRTrack
Preparing audio content
Preparing data content
The DiscRecordingUI Framework
How to record
Third-Party Frameworks
II. API Quick Reference
9. Foundation Types and Constants
Data Types
NSCalculationError
NSComparisonResult
NSDecimal
NSHashEnumerator
NSHashTable
NSHashTableCallBacks
NSInsertionPosition
NSMapEnumerator
NSMapTable
NSMapTableKeyCallBacks
NSMapTableValueCallBacks
NSNetServicesError
NSNotificationCoalescing
NSNotificationSuspensionBehavior
NSObjCValue
NSPoint
NSPointArray
NSPointPointer
NSPostingStyle
NSPropertyListFormat
NSPropertyListMutabilityOptions
NSRange
NSRangePointer
NSRect
NSRectArray
NSRectEdge
NSRectPointer
NSRelativePosition
NSRoundingMode
NSSaveOptions
NSSearchPathDirectory
NSSearchPathDomainMask
NSSize
NSSizeArray
NSSizePointer
NSStringEncoding
NSSwappedDouble
NSSwappedFloat
NSTestComparisonOperation
NSTimeInterval
NSUncaughtExceptionHandler
NSURLHandleStatus
NSWhoseSubelementIdentifier
NSZone
Enumerations
NSNotFound
NSOpenStepUnicodeReservedBase
NSProcessInfo (Operating Systems)
NSScriptCommand (General Command Execution Errors)
NSScriptObjectSpecifier (Specifier Evaluation Errors)
NSUndoCloseGroupingRunLoopOrdering
Search Types
String Encodings
Global Variables
File Attribute Keys
Filesystem Attribute Keys
File Type Attribute Keys
Language-Dependent Date/Time Information
Language-Dependent Numeric Information
NSAppleEvent Timeouts
NSConnectionReplyMode
NSDefaultRunLoopMode
NSJavaSetup Information
NSHashTable Callbacks
NSLocalNotificationCenterType
NSMapTable Key Call Backs
NSMapTable Value Callbacks
NSNetServices Errors
NSURL Schemes
NSURLHandle FTP Property Keys
NSURLHandle HTTP Property Keys
NSUserDefaults Domains
Zero Constants
Constants
NSDecimalMaxSize
NSDecimalNoScale
NSNotAnIntMapKey
NSNotAPointerMapKey
Exceptions
Archiving
Connection
General Foundation Exception Names
Keyed Archiving
NSDecimalNumber
NSFileHandle
NSScriptKeyValueCoding
NSString Handling
10. Foundation Functions
Assertions
Bundles
Byte Ordering
Decimals
Java Setup
Hash Tables
HFS File Types
Map Tables
Object Allocation
Objective-C Runtime
Path Utilities
Points
Ranges
Rects
Sizes
Uncaught Exceptions
Zones
11. Application Kit Types and Constants
Data Types
NSAffineTransformStruct
NSApplicationTerminateReply
NSBackingStoreType
NSBezelStyle
NSBezierPathElement
NSBitmapImageFileType
NSBorderType
NSBoxType
NSButtonType
NSCellAttribute
NSCellImagePosition
NSCellState
NSCellType
NSCharacterCollection
NSCompositingOperation
NSControlSize
NSControlTint
NSDocumentChangeType
NSDragOperation
NSDrawerState
NSEventType
NSFocusRingPlacement
NSFontAction
NSFontTraitMask
NSGlyph
NSGlyphInscription
NSGlyphLayoutMode
NSGlyphRelation
NSGradientType
NSImageAlignment
NSImageCacheMode
NSImageFrameStyle
NSImageInterpolation
NSImageLoadStatus
NSImageRepLoadStatus
NSImageScaling
NSInterfaceStyle
NSLayoutDirection
NSLayoutStatus
NSLineBreakMode
NSLineCapStyle
NSLineJoinStyle
NSLineMovementDirection
NSLineSweepDirection
NSMatrixMode
NSModalSession
NSMultibyteGlyphPacking
NSOpenGLContextAuxiliary
NSOpenGLContextParameter
NSOpenGLGlobalOption
NSOpenGLPixelFormatAttribute
NSOpenGLPixelFormatAuxiliary
NSPopUpArrowPosition
NSPrinterTableStatus
NSPrintingOrientation
NSPrintingPageOrder
NSPrintingPaginationMode
NSProgressIndicatorStyle
NSProgressIndicatorThickness
NSQTMovieLoopMode
NSRequestUserAttentionType
NSRulerOrientation
NSSaveOperationType
NSScreenAuxiliaryOpaque
NSScrollArrowPosition
NSScrollerArrow
NSScrollerPart
NSSelectionAffinity
NSSelectionDirection
NSSelectionGranularity
NSTableViewDropOperation
NSTabState
NSTabViewItemAuxiliaryOpaque
NSTabViewType
NSTextAlignment
NSTextFieldBezelStyle
NSTextTabType
NSTickMarkPosition
NSTIFFCompression
NSTitlePosition
NSToolbarDisplayMode
NSToolbarSizeMode
NSToolTipTag
NSTrackingRectTag
NSTypesetterBehavior
NSTypesetterGlyphInfo
NSUsableScrollerParts
NSWindingRule
NSWindowAuxiliaryOpaque
NSWindowButton
NSWindowDepth
NSWindowOrderingMode
NSWritingDirection
Enumerations
NSApplication (Modal Session Return Values)
NSAttributedString (Underlining)
NSCell (Data Entry Types)
NSCell (State Masks)
NSColorPanel (Modes)
NSColorPanel (Mode Masks)
NSDragging (Operations)
NSEvent (Action Flags)
NSEvent (Function Key Unicodes)
NSEvent (Modifier Flags)
NSEvent (Types Defined by the Application Kit)
NSEvent (Types Defined by the System)
NSFont (Traits)
NSGraphics (Alpha Values)
NSGlyph (Reserved Glyph Codes)
NSImageRep (Display Device Matching)
NSOutlineView (Drop on Index)
NSPanel (Alert Panel Return Values)
NSPanel (Modal Panel Return Values)
NSPanel (Style Mask)
NSRunLoop (Ordering Modes for NSApplication)
NSRunLoop (Ordering Modes for NSWindow)
NSSavePanel (Tags for Subviews)
NSText (Important Unicodes)
NSText (Movement Codes)
NSTextAttachment (Attachment Character)
NSTextStorage (Editing)
NSView (Resizing)
NSWindow (Border Masks)
Global Variables
Color Space Names
Display Device (Descriptions)
NSAccessibility (Actions)
NSAccessibility (Attributes)
NSAccessibility (Exception Error Code Key)
NSAccessibility (Notifications)
NSAccessibility (Orientations)
NSAccessibility (Roles)
NSAccessibility (Subroles)
NSApplication (Shared Application Object)
NSAttributedString (Attributes)
NSAttributedString (Character Shape Attribute)
NSAttributedString (Document Type)
NSAttributedString (Glyph Info Attribute)
NSAttributedString (Underline Masks)
NSBitmapImageRep (Attributes)
NSColor (Grayscale Values)
NSFont (Keys to the AFM Dictionary)
NSFont (PostScript Transformation Matrix)
NSGraphicsContext (Attributes)
NSInterfaceStyleDefault
NSPasteboard (Names)
NSPasteboard (Types for Sound Data)
NSPasteboard (Types for Standard Data)
NSPrintInfo (Dictionary Keys)
NSPrintPanel (Job Style Hints)
NSRunLoop (Modes)
NSToolbarItem (Standard Identifiers)
NSWindow (Sizes)
NSWindow (Window Levels)
NSWorkspace (File Operation Constants)
NSWorkspace (File Types)
Exceptions
12. Application Kit Functions
Accessibility
Applications
Events
Fonts
Graphics: General
Graphics: Window Depth
Interface Styles
OpenGL
Panels
Pasteboards
System Beep
13. Foundation Classes
NSAppleEventDescriptor
NSAppleEventManager
NSAppleScript
NSArchiver
NSArray
NSAssertionHandler
NSAttributedString
NSAutoreleasePool
NSBundle
NSCalendarDate
NSCharacterSet
NSClassDescription
NSCloneCommand
NSCloseCommand
NSCoder
NSConditionLock
NSConnection
NSCountCommand
NSCountedSet
NSCreateCommand
NSData
NSDate
NSDateFormatter
NSDecimalNumber
NSDecimalNumberHandler
NSDeleteCommand
NSDeserializer
NSDictionary
NSDirectoryEnumerator
NSDistantObject
NSDistantObjectRequest
NSDistributedLock
NSDistributedNotificationCenter
NSEnumerator
NSException
NSExistsCommand
NSFileHandle
NSFileManager
NSFormatter
NSGetCommand
NSHost
NSIndexSpecifier
NSInvocation
NSKeyedArchiver
NSKeyedUnarchiver
NSLock
NSLogicalTest
NSMachBootstrapServer
NSMachPort
NSMessagePort
NSMessagePortNameServer
NSMethodSignature
NSMiddleSpecifier
NSMoveCommand
NSMutableArray
NSMutableAttributedString
NSMutableCharacterSet
NSMutableData
NSMutableDictionary
NSMutableSet
NSMutableString
NSNameSpecifier
NSNetService
NSNetServiceBrowser
NSNotification
NSNotificationCenter
NSNotificationQueue
NSNull
NSNumber
NSNumberFormatter
NSObject
NSPipe
NSPort
NSPortCoder
NSPortMessage
NSPortNameServer
NSPositionalSpecifier
NSProcessInfo
NSPropertyListSerialization
NSPropertySpecifier
NSProtocolChecker
NSProxy
NSQuitCommand
NSRandomSpecifier
NSRangeSpecifier
NSRecursiveLock
NSRelativeSpecifier
NSRunLoop
NSScanner
NSScriptClassDescription
NSScriptCoercionHandler
NSScriptCommand
NSScriptCommandDescription
NSScriptExecutionContext
NSScriptObjectSpecifier
NSScriptSuiteRegistry
NSScriptWhoseTest
NSSerializer
NSSet
NSSetCommand
NSSocketPort
NSSocketPortNameServer
NSSpecifierTest
NSSpellServer
NSString
NSTask
NSThread
NSTimer
NSTimeZone
NSUnarchiver
NSUndoManager
NSUniqueIDSpecifier
NSURL
NSURLHandle
NSUserDefaults
NSValue
NSWhoseSpecifier
14. Foundation Protocols
NSCoding
NSComparisonMethods
NSCopying
NSDecimalNumberBehaviors
NSKeyValueCoding
NSLocking
NSMutableCopying
NSObjCTypeSerializationCallBack
NSObject
NSScriptingComparisonMethods
NSScriptKeyValueCoding
NSScriptObjectSpecifiers
NSURLHandleClient
15. Application Kit Classes
NSActionCell
NSAffineTransform
NSApplication
NSBezierPath
NSBitmapImageRep
NSBox
NSBrowser
NSBrowserCell
NSButton
NSButtonCell
NSCachedImageRep
NSCell
NSClipView
NSColor
NSColorList
NSColorPanel
NSColorPicker
NSColorWell
NSComboBox
NSComboBoxCell
NSControl
NSCursor
NSCustomImageRep
NSDocument
NSDocumentController
NSDrawer
NSEPSImageRep
NSEvent
NSFileWrapper
NSFont
NSFontManager
NSFontPanel
NSForm
NSFormCell
NSGlyphInfo
NSGraphicsContext
NSHelpManager
NSImage
NSImageCell
NSImageRep
NSImageView
NSInputManager
NSInputServer
NSLayoutManager
NSMatrix
NSMenu
NSMenuItem
NSMenuItemCell
NSMenuView
NSMovie
NSMovieView
NSMutableParagraphStyle
NSNibConnector
NSNibControlConnector
NSNibOutletConnector
NSOpenGLContext
NSOpenGLPixelFormat
NSOpenGLView
NSOpenPanel
NSOutlineView
NSPageLayout
NSPanel
NSParagraphStyle
NSPasteboard
NSPDFImageRep
NSPICTImageRep
NSPopUpButton
NSPopUpButtonCell
NSPrinter
NSPrintInfo
NSPrintOperation
NSPrintPanel
NSProgressIndicator
NSQuickDrawView
NSResponder
NSRulerMarker
NSRulerView
NSSavePanel
NSScreen
NSScroller
NSScrollView
NSSecureTextField
NSSecureTextFieldCell
NSSimpleHorizontalTypesetter
NSSlider
NSSliderCell
NSSound
NSSpellChecker
NSSplitView
NSStatusBar
NSStatusItem
NSStepper
NSStepperCell
NSTableColumn
NSTableHeaderCell
NSTableHeaderView
NSTableView
NSTabView
NSTabViewItem
NSText
NSTextAttachment
NSTextAttachmentCell
NSTextContainer
NSTextField
NSTextFieldCell
NSTextStorage
NSTextTab
NSTextView
NSToolbar
NSToolbarItem
NSTypesetter
NSView
NSWindow
NSWindowController
NSWorkspace
16. Application Kit Protocols
NSAccessibility
NSChangeSpelling
NSColorPickingCustom
NSColorPickingDefault
NSComboBoxCellDataSource
NSComboBoxDataSource
NSDraggingDestination
NSDraggingInfo
NSDraggingSource
NSIgnoreMisspelledWords
NSInputServerMouseTracker
NSInputServiceProvider
NSMenuItem
NSMenuValidation
NSNibAwaking
NSOutlineViewDataSource
NSServicesRequests
NSTableDataSource
NSTextAttachmentCell
NSTextInput
NSTextStorageScripting
NSToolbarItemValidation
NSToolTipOwner
NSUserInterfaceValidations
NSValidatedUserInterfaceItem
NSWindowScripting
Method Index
III. Appendix
A. Appendix: Resources for Cocoa Developers
Apple Documentation
Related Books
Web Sites
Mailing Lists
Partnering with Apple
Index
About the Authors
Colophon
← Prev
Back
Next →
← Prev
Back
Next →