Part I: Introducing Cocoa Chapter 1: Cocoa and Mac OS X 1.1 Understanding When to Use Cocoa 1.2 Understanding Cocoa''s Role in Mac OS X 1.3 Overview Chapter 2: Cocoa Language Options 2.1 Object Orientation 2.2 Objective-C 2.3 Ruby and Python 2.4 Summary Chapter 3: Using Apple''s Developer Tools 3.
1 Obtaining Apple''s Developer Tools 3.2 Interface Builder 3.3 XCode 3.4 Objective-C 3.5 Cocoa Conventions 3.6 Summary Part II: The Cocoa Frameworks Chapter 4: Foundation: The Objective-C Standard Library 4.1 General Concepts 4.2 Core Foundation Types 4.
3 Basic Data Types 4.4 Collections 4.5 Enumeration 4.6 Property Lists 4.7 Interacting with the Filesystem 4.8 Notifications 4.9 Summary Chapter 5: Application Concepts 5.1 Run Loops 5.
2 Applications and Delegates 5.3 The Responder Chain 5.4 Run Loops in Applications 5.5 Delegates and Notifications 5.6 The View Hierarchy 5.7 Summary Chapter 6: Creating Graphical User Interfaces 6.1 Positioning Views 6.2 Nested Views 6.
3 Creating Views 6.4 Cocoa Bindings 6.5 Summary Chapter 7: Windows and Menus 7.1 Understanding Windows 7.2 Creating Windows 7.3 Creating Window Objects 7.4 Panels 7.5 Sheets 7.
6 Alert Dialogs 7.7 Menus 7.8 Summary Chapter 8: Text in Cocoa 8.1 Constructing and Deconstructing Strings 8.2 Annotating Strings 8.3 Localization 8.4 Text Storage 8.5 Understanding Fonts 8.
6 Displaying Text 8.7 Writing a Custom Text Container 8.8 Using Multiple Text Views 8.9 Summary Part III: Cocoa Documents Chapter 9: Creating Document-Driven Applications 9.1 The Cocoa Document Model 9.2 Creating the Application Skeleton 9.3 Creating the Document 9.4 Extending the Outliner 9.
5 Supporting Undo 9.6 Adding Undo to the Outliner 9.7 Summary Chapter 10: Core Data 10.1 Introducing Data Modeling 10.2 Understanding Managed Objects 10.3 Attribute Types 10.4 Creating a Data Model 10.5 Choosing a Persistent Store 10.
6 Storing Metadata 10.7 Automatic Undo 10.8 Core Data, Spotlight, and Time Machine 10.9 Summary Part IV: Complex User Interfaces Chapter 11: Working with Structured Data 11.1 Data Sources and Delegates 11.2 Tables 11.3 Outline Views 11.4 Browsers 11.
5 Collection Views 11.6 Customizing Views with New Cells 11.7 Creating Master-Detail Views 11.8 Summary Chapter 12: Dynamic Views 12.1 Tabbed Views 12.2 Inspecting the View Hierarchy 12.3 Modifying the View Hierarchy 12.4 Creating Dynamic Input Forms 12.
5 Full-Screen Applications 12.6 Summary Part V: Advanced Graphics Chapter 13: Custom Views 13.1 The Graphics Context 13.2 Core Graphics 13.3 AppKit Drawing 13.4 Printing and Paginating Views 13.5 Extending Interface Builder with Palettes 13.6 Summary Chapter 14: Sound and Video 14.
1 Beeping 14.2 Playing Simple Sounds 14.3 Understanding Cocoa Movie Objects 14.4 Adding Video 14.5 Editing Media 14.6 Low-Level Sound APIs 14.7 Sound and Video Recording 14.8 Supporting Speech 14.
9 Cocoa Speech Synthesis 14.10 Conversing with Users 14.11 Summary Chapter 15: Advanced Visual Effects 15.1 Simple Animation 15.2 Core Animation Overview 15.3 Understanding Animation Concepts 15.4 Adding Simple Animations 15.5 Image Filters 15.
6 Defining Transitions 15.7 Creating Complex Animations 15.8 3D Core Animation Transforms 15.9 OpenGL and Cocoa Views 15.10 Quartz Composer 15.11 Summary Chapter 16: Supporting PDF and HTML 16.1 HTML in AppKit 16.2 Advanced HTML Support 16.
3 Dynamic Interfaces with WebKit 16.4 PDF and Quartz 16.5 Displaying PDFs 16.6 Summary Part VI: User Interface Integration Chapter 17: Searching and Filtering 17.1 Maintaining Document Indexes 17.2 Displaying Search Boxes 17.3 Searching for Documents 17.4 Spotlight 17.
5 Predicates 17.6 Quick Look 17.7 Summary Chapter 18: Contacts, Calendars, and Secrets 18.1 Address Book Overview 18.2 Getting Information About People 18.3 Searching the Address Book 18.4 Populating the "Me" vCard 18.5 Adding People to the Address Book 18.
6 Storing Secrets 18.7 Calendars 18.8 Synchronizing Data 18.9 Summary Chapter 19: Pasteboards 19.1 Pasteboard Overview 19.2 Pasteboard Types 19.3 Filtered Types 19.4 Property List Data 19.
5 Self-Encoding Objects 19.6 Files and Pasteboards 19.7 Copy and Paste 19.8 Drag and Drop 19.9 Drag and Drop with Data Views 19.10 Summary Chapter 20: Services 20.1 Example Services 20.2 An Evaluate Service 20.
3 Using Services 20.4 Controlling the Services Menu 20.5 Filter Services 20.6 Summary Chapter 21: Adding Scripting 21.1 Scripting Overview 21.2 Making Objects Scriptable 21.3 Scripting from Cocoa 21.4 Exposing Services to Automator 21.
5 Other Scripting Technologies 21.6 Summary Part VII: System Programming Chapter 22: Networking 22.1 Low-Level Socket Programming 22.2 Cocoa Streams 22.3 URL Handling 22.4 Bonjour 22.5 Distributed Objects 22.6 Summary Chapter 23: Concurrency 23.
1 Distributed Objects 23.2 Threading 23.3 Child Processes 23.4 Operation Queues 23.5 Grand Central Dispatch 23.6 OpenCL 23.7 Summary Part VIII: Appendixes Chapter 24: Portable Cocoa 24.1 NeXT and Sun 24.
2 Mobile OS X on the iPhone 24.3 OpenStep and GNU 24.4 GNUstep 24.5 QuantumSTEP 24.6 Cocotron 24.7 GNUstepWeb and SOPE Chapter 25: Advanced Tricks 25.1 The Preprocessor 25.2 Control Structures 25.
3 Clean Code 25.4 Optimization 25.5 Cross-Platform Cocoa 25.6 The Runtime System.