Preface
Part I. Cocoa Overview and Foundation
1. Introduction to Cocoa
The Mac OS X Programming Environment
Cocoa Defined
The Cocoa Frameworks
Languages
The Foundation Framework
The Application Kit Framework
2. Cocoa Development Tools
Installing the Developer Tools
Interface Builder
Other Tools
Exercises
3. Object-Oriented Programming with Objective-C
Introducing Objects
Creating and Using Objects
Methods and Messages
Objective-C-Defined Types
Creating New Classes
Overriding Methods
Other Concepts
Exercises
4. The Cocoa Foundation Kit
Strings
Collections
Memory Management
Exercises
Part II. Single-Window Applications
5. Graphical User Interfaces
Graphical User Interfaces in Cocoa
Designing Applications Using MVC
Create the Currency Converter Project
Create the Interface
Define the Classes
Connect the Model, Controller, and View
Implement the Classes
Build and Run
Exercises
6. Windows, Views, and Controls
Windows and the Window System
The View Hierarchy
Coordinate Systems
Controls, Cells, and Formatters
Targets and Actions
Exercises
7. Custom Views
Custom View Creation Steps
Create a Custom View
Drawing into a View: Behind the Scenes
Draw Strings into a View
Draw Paths into a View
Exercises
8. Event Handling
Events
Dot View Application
Event Delegation
Notifications
Exercises
9. Models and Data Functionality
Protocols
Key-Value Coding
Table Views
Table View Example
Saving Data: Coding and Archiving
Using Formatters
Sorting Tables
Exercises
Part III. Document-Based Applications
10. Multiple Document Architecture
Architectural Overview
Building a Document-Based Application
Exercises
11. Rich-Text Handling
Cocoa's Text System
Creating a Rich-Text Editor
Enabling the Font Menu
Text Storage and Attributed Text
Enabling the Text Menu
Handling Embedded Images
Exercises
Part IV. Miscellaneous Topics
12. Printing
Printing a View
Using Print Operations
Setting Margins
Exercises
13. Bundles and Resources
Peeking Inside Bundles
Using Bundles
Exercises
14. Localization
Mac OS X Language Preferences
Localizing Resources
Localizing Nib Files
Localizing Strings
Exercises
15. Defaults and Preferences
How Preferences Work
Using Defaults
Command-Line Preferences Access
Using Unique Application Identifiers
Exercises
16. Accessory Windows
The Role of File's Owner
Making an Info Window
Exercises
17. Finishing Touches
Tidying Up the User Interface
Providing an Icon
Providing Help
Customizing the About Box
Tweaking Compiler Settings
Packaging for Distribution
Closure
Exercises
Part V. Appendixes
A. Exercise Solutions
B. Additional Resources
C. Using the Foundation and Application Kit API References
Index