Jump To:
Leopard Reference Library
Cocoa is an object-oriented application environment designed for developing Mac OS X native applications. The Cocoa frameworks support rapid development and high productivity. Cocoa provides developers starting new Mac OS X projects the fastest way to full-featured implementations. Applications from other platforms can also be brought to Mac OS X quickly using Cocoa.

A guided introduction and learning path for developers new to Cocoa.   Essential information for developers using Objective-C.   Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
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").
Design Guidelines Technical Q&As 1999-10-05
Document-Based Applications Overview (HTML) (PDF)
Explains how to design and implement Cocoa applications that manage multiple documents.
Design Guidelines Guides 2009-01-12
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.
Design Guidelines Technical Notes 2003-02-18
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.
Design Guidelines Guides 2009-03-04
Foundation Release Notes (HTML)
Describes new features, notes, and known issues for the Foundation framework in Mac OS X v10.5.
Design Guidelines Release Notes 2007-10-31
Garbage Collection Programming Guide (HTML) (PDF)
Describes the garbage collection system for Cocoa.
Design Guidelines Guides 2008-11-19
Key-Value Coding Programming Guide (HTML) (PDF)
Conceptual information about how to access a Cocoa object's values using keys.
Design Guidelines Guides 2009-02-04
Key-Value Observing Programming Guide (HTML) (PDF)
Explains the Cocoa key-value observing protocol.
Design Guidelines Guides 2009-05-06
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.
Design Guidelines Articles 2006-12-07
Memory Management Programming Guide for Cocoa (HTML) (PDF)
Explains how to allocate and deallocate objects in Cocoa.
Design Guidelines Guides 2009-05-06
Model Object Implementation Guide (HTML) (PDF)
Describes issues relating to the design and implementation of model objects
Design Guidelines Guides 2008-02-08
Notification Programming Topics for Cocoa (HTML) (PDF)
Explains how to send and receive information about events in Cocoa programs.
Design Guidelines Guides 2007-05-03
NSArrayController Class Reference (HTML) (PDF)
Describes a Cocoa bindings-compatible manager of an array or set.
Design Guidelines Reference 2007-04-09
NSController Class Reference (HTML) (PDF)
Describes the interface for controllers used with Cocoa bindings.
Design Guidelines Reference 2007-04-02
NSCopying Protocol Reference (HTML) (PDF)
Describes the interface for providing immutable duplicates of objects.
Design Guidelines Reference 2006-05-23
NSDictionary Class Reference (HTML) (PDF)
Describes an immutable collection of key-value pairs.
Design Guidelines Reference 2009-04-08
NSDictionaryController Class Reference (HTML) (PDF)
Describes a Cocoa bindings-compatible manager of a dictionary.
Design Guidelines Reference 2008-06-05
NSDocument Class Reference (HTML) (PDF)
Describes the interface for managing content using Cocoa's document system.
Design Guidelines Reference 2009-01-06
NSDocumentController Class Reference (HTML) (PDF)
Describes an object for managing documents.
Design Guidelines Reference 2008-10-15
NSError Class Reference (HTML) (PDF)
Describes a representation of a runtime error.
Design Guidelines Reference 2009-05-06
NSErrorRecoveryAttempting Protocol Reference (HTML) (PDF)
Describes the interface for attempting recovery from runtime errors.
Design Guidelines Reference 2007-02-23
NSKeyValueCoding Protocol Reference (HTML) (PDF)
Describes the interface for accessing object properties indirectly by key name or key path.
Design Guidelines Reference 2009-02-04
NSKeyValueObserving Protocol Reference (HTML) (PDF)
Describes the interface for receiving notifications of changes to object properties.
Design Guidelines Reference 2007-10-31
NSMutableCopying Protocol Reference (HTML) (PDF)
Describes the interface for providing mutable duplicates of objects.
Design Guidelines Reference 2006-05-23
NSMutableDictionary Class Reference (HTML) (PDF)
Describes a changeable collection of values that are identified by keys.
Design Guidelines Reference 2007-02-23
NSObject Class Reference (HTML) (PDF)
Describes the Cocoa root class.
Design Guidelines Reference 2009-02-04
NSObject Protocol Reference (HTML) (PDF)
Describes the interface used to define basic object behavior.
Design Guidelines Reference 2008-12-22
NSObjectController Class Reference (HTML) (PDF)
Describes a Cocoa bindings-compatible manager of an object.
Design Guidelines Reference 2007-12-11
NSPersistentDocument Class Reference (HTML) (PDF)
Describes a document that integrates with the Core Data framework.
Design Guidelines 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.
Design Guidelines Guides 2009-02-04
NSPersistentDocument Core Data Tutorial for Mac OS X v10.4. (HTML) (PDF)
Deprecated - Step-by-step instructions for building a simple but functionally rich application using NSPersistentDocument and Cocoa bindings.
Design Guidelines Guides 2009-02-04
NSTreeController Class Reference (HTML) (PDF)
Describes the class that is used with Cocoa bindings to manage a tree of objects.
Design Guidelines Reference 2007-04-10
NSValueTransformer Class Reference (HTML) (PDF)
Describes a Cocoa-bindings compatible interface for transforming value representations.
Design Guidelines Reference 2007-07-24
NSWindowController Class Reference (HTML) (PDF)
Describes an object for controlling a window that is usually stored in a nib file.
Design Guidelines Reference 2006-05-23
Object-Oriented Programming with Objective-C (HTML) (PDF)
Describes object-oriented programming from the perspective of an Objective-C developer.
Design Guidelines Guides 2008-11-19
Predicate Programming Guide (HTML) (PDF)
Describes how to specify queries in Cocoa.
Design Guidelines Guides 2009-05-06
PrefsPane (HTML) (DMG) (ZIP)
A Cocoa sample System Preferences bundle that demonstrates how to use the NSPreferencePane class.
Design Guidelines Sample Code 2007-06-06
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).
Design Guidelines Guides 2007-10-31
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Design Guidelines Guides 2008-07-08
SimpleCocoaApp (HTML) (DMG) (ZIP)
A basic Cocoa application for beginners to Cocoa and Objective-C.
Design Guidelines Sample Code 2007-08-07
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Design Guidelines Guides 2007-05-27
Squiggles (HTML) (DMG) (ZIP)
Demonstrates many Cocoa fundamentals in a Document-based Application featuring custom drawing and event-handling.
Design Guidelines Sample Code 2008-08-29
Tiger Developer Overview Series: Developing with Core Data (HTML)
Learn to use Core Data to define your application's data model graphically.
Design Guidelines Articles 2005-04-04
TrackBall (HTML) (DMG) (ZIP)
Demonstrates how to build a custom control based on the NSControl class.
Design Guidelines Sample Code 2007-06-07
TwoManyControllers (HTML) (DMG) (ZIP)
How to use an intermediate NSArrayController to populate an NSTableView across two to-many relationships.
Design Guidelines Sample Code 2007-02-23
Undo Architecture (HTML) (PDF)
Explains how to record information in Cocoa so a user can reverse an operation's effect.
Design Guidelines Guides 2002-11-12
User Interface Validation (HTML) (PDF)
Explains how to use the standard mechanism to validate user interface items in Cocoa.
Design Guidelines Guides 2007-07-10
With and Without Bindings (HTML) (DMG) (ZIP)
Illustrates the adoption of Cocoa Bindings and refactoring using a subclass of NSArrayController.
Design Guidelines Sample Code 2008-01-04
Xcode Design Tools for Class Modeling (HTML) (PDF)
Describes the Xcode Design Tools for Class Modeling.
Design Guidelines Guides 2009-02-04
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate test cases to validate individual units of source code.
Design Guidelines Guides 2008-05-02
Action Messages (HTML) (PDF)
Explains how Cocoa controls respond to user actions and enable users to communicate to an application.
Events & Other Input Guides 2002-11-12
Background-only apps with NSStatusItems become active in 10.1 on NSStatusItem clicks (HTML)
QA1081: Preventing background-only apps from activating when their NSStatusItem(s) are clicked in Mac OS X 10.1.
Events & Other Input Technical Q&As 2001-10-30
BindingsJoystick (HTML) (DMG) (ZIP)
Illustrates a bindings-enabled subclass of NSView.
Events & Other Input Sample Code 2005-06-01
CarbonCocoaTempConverter (HTML) (DMG) (ZIP)
Demonstrates how to integrate Carbon and Cocoa user interfaces in the same Cocoa application.
Events & Other Input Sample Code 2008-03-10
CarbonInCocoa (HTML) (DMG) (ZIP)
How to use Carbon GUI code in a Cocoa application.
Events & Other Input Sample Code 2003-03-26
Cocoa Event-Handling Guide (HTML) (PDF)
Introduces event mechanisms and the types of events in Cocoa and describes how to handle events of each type.
Events & Other Input Guides 2009-02-04
CocoaDragAndDrop (HTML) (DMG) (ZIP)
Implement Drag-and-Drop functionality in Cocoa (uses images; can be extended to support other data types).
Events & Other Input Sample Code 2003-01-14
Color Sampler (HTML) (DMG) (ZIP)
Demonstrates one way to sample the color at a given point in an NSView.
Events & Other Input Sample Code 2003-01-14
ColorSyncDevices-Cocoa (HTML) (DMG) (ZIP)
Demonstrates how to use the new ColorSync Device Manager routines in the Cocoa environment.
Events & Other Input Sample Code 2003-01-14
CrossEvents (HTML) (DMG) (ZIP)
Demonstrates how to send CarbonEvents and NSNotifications between Carbon and Cocoa.
Events & Other Input Sample Code 2007-05-31
Cursor Management (HTML) (PDF)
Explains how to set the cursor and handle cursor-update events in Cocoa applications.
Events & Other Input Guides 2008-03-11
Detecting the Caps Lock Key (HTML)
QA1519: Explains how to detect when the caps lock key is turned on and off.
Events & Other Input Technical Q&As 2007-05-11
Dicey (HTML) (DMG) (ZIP)
Dicey is a dice game project that demonstrates various techniques for making a Cocoa application accessible.
Events & Other Input Sample Code 2006-08-01
Drag and Drop Programming Topics for Cocoa (HTML) (PDF)
Explains how to implement drag and drop in Cocoa.
Events & Other Input Guides 2006-06-28
Driving OpenGL Rendering Loops (HTML)
QA1385: Using Core Video display links (CVDisplayLink) or Cocoa timers (NSTimer) to drive an OpenGL rendering loop
Events & Other Input Technical Q&As 2009-05-01
Frequently Asked Text Services Manager (TSM) Questions (HTML)
TN2128: Regroups a collection of Text Services Manager (TSM) questions frequently asked by Input Method Developers
Events & Other Input Technical Notes 2005-06-24
FunkyOverlayWindow (HTML) (DMG) (ZIP)
Demonstrates several window layering, transparency and widget interaction techniques in Cocoa.
Events & Other Input Sample Code 2003-05-08
JDragNDrop (HTML) (DMG) (ZIP)
Deprecated - Demonstrates building a simple view to implement Drag-and-Drop functionality in Cocoa-Java.
Events & Other Input Sample Code 2003-01-14
Notification Programming Topics for Cocoa (HTML) (PDF)
Explains how to send and receive information about events in Cocoa programs.
Events & Other Input Guides 2007-05-03
NSAlert Class Reference (HTML) (PDF)
Describes a window that displays a message and obtains the user's response to it.
Events & Other Input Reference 2007-04-25
NSBrowser Class Reference (HTML) (PDF)
Describes a control for manipulating one- or two-dimensional data sets.
Events & Other Input Reference 2007-04-05
NSButton Class Reference (HTML) (PDF)
Describes a control that responds to clicks.
Events & Other Input Reference 2007-04-01
NSButtonCell Class Reference (HTML) (PDF)
Describes a cell that responds to mouse clicks.
Events & Other Input Reference 2009-04-08
NSDistributedNotificationCenter Class Reference (HTML) (PDF)
Describes an object that synchronously broadcasts notifications to other tasks.
Events & Other Input Reference 2007-04-01
NSDraggingDestination Protocol Reference (HTML) (PDF)
Describes the interface for objects receiving dragged images.
Events & Other Input Reference 2007-03-01
NSDraggingInfo Protocol Reference (HTML) (PDF)
Describes the interface for supplying useful information to a dragging destination.
Events & Other Input Reference 2007-03-01
NSDraggingSource Protocol Reference (HTML) (PDF)
Describes the interface for receiving messages when providing a dragged image.
Events & Other Input Reference 2007-03-01
NSEvent Class Reference (HTML) (PDF)
Describes an input action such as a mouse click.
Events & Other Input Reference 2009-02-04
NSHelpManager Class Reference (HTML) (PDF)
Describes an application-level help system.
Events & Other Input Reference 2009-02-04
NSInputManager Class Reference (HTML) (PDF)
Describes the class used by text views to communicate with the text input management system.
Events & Other Input Reference 2007-04-01
NSInputServer Class Reference (HTML) (PDF)
Describes the class that interprets text view events and communicates them to the text input management system.
Events & Other Input Reference 2007-04-01
NSInputServerMouseTracker Protocol Reference (HTML) (PDF)
Describes the protocol implemented by text input servers to handle mouse events.
Events & Other Input Reference 2007-04-02
NSInputServiceProvider Protocol Reference (HTML) (PDF)
Describes the protocol implemented by text input servers to handle application and text field events.
Events & Other Input Reference 2007-04-02
NSNotification Class Reference (HTML) (PDF)
Describes information to be broadcast to other objects through a notification center.
Events & Other Input Reference 2007-04-02
NSNotificationCenter Class Reference (HTML) (PDF)
Describes an object that synchronously broadcasts notifications.
Events & Other Input Reference 2008-07-11
NSNotificationQueue Class Reference (HTML) (PDF)
Describes an object that asynchronously broadcasts notifications.
Events & Other Input Reference 2007-04-02
NSOpenPanel Class Reference (HTML) (PDF)
Describes the panel that a user employs to locate and open a file.
Events & Other Input Reference 2009-02-04
NSPanel Class Reference (HTML) (PDF)
Describes a window for performing auxiliary functions in an application.
Events & Other Input Reference 2009-01-06
NSResponder Class Reference (HTML) (PDF)
Describes the interface for handling events.
Events & Other Input Reference 2007-03-05
NSRunLoop Class Reference (HTML) (PDF)
Describes the object that manages events on a thread.
Events & Other Input Reference 2008-02-08
NSSavePanel Class Reference (HTML) (PDF)
Describes the panel that a user employs to set a file-system location and save a file.
Events & Other Input Reference 2009-02-04
NSSpeechRecognizer Class Reference (HTML) (PDF)
Describes the Cocoa command-and-control voice recognition system.
Events & Other Input Reference 2007-04-03
NSTextInput Protocol Reference (HTML) (PDF)
Descibes the formal protocol that text views implement to receive input from the user's keyboard and mouse.
Events & Other Input Reference 2006-05-23
NSTextInputClient Protocol Reference (HTML) (PDF)
Describes the interface for receiving keyboard input as properly formed text.
Events & Other Input Reference 2008-10-15
NSTimer Class Reference (HTML) (PDF)
Describes a timer.
Events & Other Input Reference 2008-11-19
NSTrackingArea Class Reference (HTML) (PDF)
Describes a view region used for mouse tracking and cursor updating.
Events & Other Input Reference 2007-03-09
NSView Class Reference (HTML) (PDF)
Describes the interface for drawing, event handling, and printing in views.
Events & Other Input Reference 2009-02-04
NSWindow Class Reference (HTML) (PDF)
Describes a window.
Events & Other Input Reference 2009-03-04
NumberInput_IMKit_Sample (HTML) (DMG) (ZIP)
Illustrates an input method that uses the Mac OS X 10.5 InputMethodKit framework.
Events & Other Input Sample Code 2008-03-17
Pasteboard Programming Topics for Cocoa (HTML) (PDF)
Explains how to transfer data using pasteboard operations in Cocoa.
Events & Other Input Guides 2007-07-13