Jump To:
Reference Library: Cocoa
Design guidelines offer fundamental rules and tips to help developers make sound design decisions when they are developing Cocoa programs. Also included are explanations of basic architectures, paradigms, and design patterns that are important for all Cocoa developers to understand.

Document Descriptions
On Off
Display

Sort by
Title
Sort by
Resource Type
Sorted by
Date
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
Guides 2008-06-09
NSObject Class Reference (HTML) (PDF)
Describes the root class of most Objective-C class hierarchies, including methods for object creation, life-cycle management, and intropsection.
Reference 2008-06-09
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate unit tests into your development process using Xcode.
Guides 2008-05-02
Cocoa Scripting Guide (HTML) (PDF)
Explains how to create scriptable Cocoa applications that use the scripting definition (sdef) format.
Guides 2008-03-11
Garbage Collection Programming Guide (HTML) (PDF)
Describes the garbage collection system for Cocoa.
Guides 2008-03-11
NSDocument Class Reference (HTML) (PDF)
Describes the abstract class that defines the interface for documents, objects that manage data displayed in windows.
Reference 2008-03-11
NSDocumentController Class Reference (HTML) (PDF)
Describes the class used to manage an application's documents.
Reference 2008-03-11
Common mistakes with delegation in Cocoa (HTML)
QA1554: The two most common errors that lead to a delegate method not being received.
Technical Q&As 2008-02-27
Core Data Programming Guide (HTML) (PDF)
Explains how to manage objects using the Core Data framework.
Guides 2008-02-08
Low-Level Core Data Tutorial (HTML) (PDF)
A hands-on guide to creating a command-line utility using low-level features of Core Data.
Guides 2008-02-08
Memory Management Programming Guide for Cocoa (HTML) (PDF)
Explains how to allocate and deallocate objects in Cocoa.
Guides 2008-02-08
Model Object Implementation Guide (HTML) (PDF)
Describes issues relating to the design and implementation of model objects
Guides 2008-02-08
NSDictionary Class Reference (HTML) (PDF)
Describes the class for managing associations of keys and values.
Reference 2008-02-08
NSPersistentDocument Class Reference (HTML) (PDF)
Describes the class used to to define and operate on a document that integrates into the Core Data framework.
Reference 2008-02-08
NSPersistentDocument Core Data Tutorial (HTML) (PDF)
Step-by-step instructions for building a simple but functionally rich application using NSPersistentDocument and Cocoa bindings.
Guides 2008-02-08
Connecting the Font Menu in Interface Builder 3 (HTML)
QA1571: How to connect and configure the Font/Format menus in Interface Builder 3.
Technical Q&As 2008-01-21
With and Without Bindings (HTML) (DMG) (ZIP)
Illustrates the adoption of Cocoa Bindings and refactoring using a subclass of NSArrayController.
Sample Code 2008-01-04
NSObjectController Class Reference (HTML) (PDF)
Describes the class that is used with Cocoa bindings to access and modify model values.
Reference 2007-12-11
Object-Oriented Programming with Objective-C (HTML) (PDF)
Describes object-oriented programming from the perspective of an Objective-C developer.
Guides 2007-12-11
Application Kit Release Notes (10.5) (HTML)
New document that describes new features, notes, and known issues for the Application Kit Framework on Mac OS X v10.5.
Release Notes 2007-10-31
Carbon-Cocoa Integration Guide (HTML) (PDF)
Explains how to use both Carbon and Cocoa in developing an application.
Guides 2007-10-31
Cocoa Fundamentals Guide (HTML) (PDF)
Introduces the basic concepts, terminology, architectures, and design patterns of the Cocoa frameworks and development environment.
Guides 2007-10-31
Foundation Release Notes (HTML)
Describes new features, notes, and known issues for the Foundation framework in Mac OS X v10.5.
Release Notes 2007-10-31
NSKeyValueObserving Protocol Reference (HTML) (PDF)
Describes the informal protocol that allows objects to be notified of changes to the specified properties of other objects.
Reference 2007-10-31
Ruby and Python Programming Topics for Mac OS X (HTML) (PDF)
Describes Ruby and Python on Mac OS X, and especially the bridges between them and Objective-C and OSA (AppleScript).
Guides 2007-10-31
BundleLoader (HTML) (DMG) (ZIP)
Demonstrates how to load multiple Cocoa bundles or NSBundles (also known as plug-ins) into the main NSApplication.
Sample Code 2007-09-21
Document-Based Applications Overview (HTML) (PDF)
Explains how to design and implement Cocoa applications that manage multiple documents.
Guides 2007-09-04
SimpleCocoaApp (HTML) (DMG) (ZIP)
A basic Cocoa application for beginners to Cocoa and Objective-C.
Sample Code 2007-08-07
NSValueTransformer Class Reference (HTML) (PDF)
Describes the abstract class used to transform values from one representation to another when using Cocoa bindings.
Reference 2007-07-24
NSObject Protocol Reference (HTML) (PDF)
Describes the protocol for defining basic object behavior.
Reference 2007-07-19
Cocoa Application Tutorial Using Bindings (HTML) (PDF)
A hands-on introduction to Cocoa bindings.
Guides 2007-07-10
User Interface Validation (HTML) (PDF)
Explains how to use the standard mechanism to validate user interface items in Cocoa.
Guides 2007-07-10
TrackBall (HTML) (DMG) (ZIP)
Demonstrates how to build a custom control based on the NSControl class.
Sample Code 2007-06-07
Key-Value Coding Programming Guide (HTML) (PDF)
Conceptual information about how to access a Cocoa object's values using keys.
Guides 2007-06-06
PrefsPane (HTML) (DMG) (ZIP)
A Cocoa sample System Preferences bundle that demonstrates how to use the NSPreferencePane class.
Sample Code 2007-06-06
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Guides 2007-05-27
Cocoa Bindings Programming Topics (HTML) (PDF)
Explains how to rapidly develop sophisticated user interfaces using Cocoa binding technology.
Guides 2007-05-22
Notification Programming Topics for Cocoa (HTML) (PDF)
Explains how to send and receive information about events in Cocoa programs.
Guides 2007-05-03
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Guides 2007-04-18
NSTreeController Class Reference (HTML) (PDF)
Describes the class that is used with Cocoa bindings to manage a tree of objects.
Reference 2007-04-10
NSArrayController Class Reference (HTML) (PDF)
Describes the class that is used with Cocoa bindings to manage a collection of objects.
Reference 2007-04-09
NSController Class Reference (HTML) (PDF)
Describes the abstract class that implements the informal protocols required by controller classes used with Cocoa bindings.
Reference 2007-04-02
64-Bit Transition Guide for Cocoa (HTML) (PDF)
Explains how to port Cocoa projects to 64-bit addressing.
Guides 2007-03-22
NSErrorRecoveryAttempting Protocol Reference (HTML) (PDF)
Describes the informal protocol that lets applications attempt recovery from errors.
Reference 2007-02-23
NSKeyValueCoding Protocol Reference (HTML) (PDF)
Describes the informal protocol used to access the properties of an object indirectly by key name or key path.
Reference 2007-02-23
NSMutableDictionary Class Reference (HTML) (PDF)
Describes the class for managing mutable associations of keys and values.
Reference 2007-02-23
TwoManyControllers (HTML) (DMG) (ZIP)
How to use an intermediate NSArrayController to populate an NSTableView across two to-many relationships.
Sample Code 2007-02-23
Accessibility Programming Guidelines for Cocoa (HTML) (PDF)
Explains how Cocoa applications make their user interface available to external assistive applications.
Guides 2007-02-08
Cocoa_With_Carbon_or_CPP (HTML) (DMG) (ZIP)
Shows how to call Carbon routines and C++ code from within an Objective-C Cocoa program.
Sample Code 2007-02-05
Leopard Technology Series for Developers: Leopard Developer Application Technologies Overview (HTML)
Learn how Leopard will help you create powerful and innovative features for your users.
Articles 2006-12-07
Error Handling Programming Guide For Cocoa (HTML) (PDF)
Describes NSError objects, related Application Kit support for error handling, and how to use these features in your code.
Guides 2006-10-03
Predicate Programming Guide (HTML) (PDF)
Describes how to specify queries in Cocoa.
Guides 2006-10-03
Application Architecture Overview (HTML) (PDF)
Explains the architecture of a Cocoa application and how it interacts with the operating system.
Guides 2006-08-07
Application Kit Release Notes (10.4 and Earlier) (HTML)
Release Notes 2006-07-17
NSDictionaryController Class Reference (HTML) (PDF)
Describes the class used with Cocoa bindings to manage a dictionary of objects.
Reference 2006-07-01
Key-Value Observing Programming Guide (HTML) (PDF)
Explains the Cocoa key-value observing protocol.
Guides 2006-06-28
NSCopying Protocol Reference (HTML) (PDF)
Describes the protocol that declares an interface for providing immutable copies of an object.
Reference 2006-05-23
NSError Class Reference (HTML) (PDF)
Describes the class that encapsulates error information.
Reference 2006-05-23
NSMutableCopying Protocol Reference (HTML) (PDF)
Describes the protocol that declares an interface for providing mutable copies of an object.
Reference 2006-05-23
NSWindowController Class Reference (HTML) (PDF)
Describes the class used to manage a window, usually a window stored in a nib file.
Reference 2006-05-23
Coding Guidelines for Cocoa (HTML) (PDF)
Naming guidelines for Cocoa API and design advice to framework developers.
Guides 2006-04-04
Designing Network-Friendly Applications (HTML)
Learn to make your application management-aware and reliably accessible on a network.
Articles 2005-10-24
BindingsJoystick (HTML) (DMG) (ZIP)
Illustrates a bindings-enabled subclass of NSView.
Sample Code 2005-06-01
Tiger Developer Overview Series: Developing with Core Data (HTML)
Learn to use Core Data to define your application's data model graphically.
Articles 2005-04-04
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Technical Q&As 2005-02-08
Binding your Preferences in Cocoa (HTML)
Learn to use bindings by creating a simple app.
Articles 2004-04-26
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (日本語 HTML)
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Technical Notes 2003-02-18
Undo Architecture (HTML) (PDF)
Explains how to record information in Cocoa so a user can reverse an operation's effect.
Guides 2002-11-12
Detecting specific ROM-in-RAM Mac (HTML) (日本語 HTML)
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Technical Q&As 1999-10-05