Introduction
What Is Objective-C?
Dynamic Dispatch
Dynamic Typing
Dynamic Loading
Which Objective-C?
How Do I Get Started?
Elements of the Language
Objects
Classes
Inheritance and Subtyping
Fields
Methods
Categories
Protocols
Declarations
Predefined Types, Constants, and Variables
Compiler and Preprocessor Directives
Class Declarations and Definitions
Forward Declarations
Expanding Directives
Preprocessor Symbols
Compiler Flags
Remote Messaging
Pointer Parameter Qualifiers
Return Value Qualifiers
Object Qualifiers
Object Lifecycle
Creating an Object
Copying an Object
Deallocating an Object
Runtime Errors
Object Error Handling
Exceptions in Cocoa
Runtime Environment
Class Objects
Metaclass Objects
Selectors
Protocol Objects
Root Classes
Fields
Methods
The Object Class
The NSObject Class
Forwarding Messages
Object Forwarding
NSObject Forwarding
Memory Management
Manual Memory Management
Reference Counting
Garbage Collection
Archiving Objects
Archiving Descendants of Object
Archiving Descendants of NSObject
Key-Value Coding
Access Permissions
NSKeyValueCoding Methods
Handling Key Lookup Failures
Optimizing Method Calls
Objective-C++
Objective-C Resources
Index |