The Objective-C 2.0 Programming Language
PDF
Introduction
Objects and Classes
Objects
Object Messaging
Classes
Defining a Class
Source Files
Class Interface
Class Implementation
Categories and Extensions
Adding Methods to Classes
How you Use Categories
Categories of the Root Class
Extensions
Properties
Overview
Property Declaration and Implementation
The Dot Syntax
Properties and Key-Value Coding
Subclassing with Properties
Property Introspection
Runtime Differences
Protocols
Declaring Interfaces for Others to Implement
Methods for Others to Implement
Declaring Interfaces for Anonymous Objects
Non-Hierarchical Similarities
Formal Protocols
Informal Protocols
Protocol Objects
Adopting a Protocol
Conforming to a Protocol
Type Checking
Protocols Within Protocols
Referring to Other Protocols
Fast Enumeration
How Messaging Works
The objc_msgSend Function
Selectors
Using Hidden Arguments
Messages to self and super
Enabling Static Behavior
Static Typing
Getting a Method Address
Exception Handling
Threading
Using C++ With Objective-C
Overview
Mixing Objective-C and C++ Language Features
C++ Lexical Ambiguities and Conflicts
The Runtime System
Interacting with the Runtime System
Allocating and Initializing Objects
Memory Management
Forwarding
Dynamic Method Resolution
Dynamic Loading
Remote Messaging
Type Encodings
Appendix A: Language Summary
Messages
Defined Types
Preprocessor Directives
Compiler Directives
Classes
Categories
Deprecation Syntax
Formal Protocols
Method Declarations
Method Implementations
Naming Conventions
Appendix B: Grammar
External Declarations
Type Specifiers
Type Qualifiers
Primary Expressions
Exceptions
Synchronization
Glossary
Revision History
Index