Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

Who Should Read This Document
IntroductiontoTheObjective-CProgramming Language
Organization of This Document
See Also
Memory Management
Object Basics
Dynamic Typing
Object Messaging
Message Syntax
Sending Messages to nil
The Receiver’s Instance Variables
Dynamic Binding
Dynamic Method Resolution
Dot Syntax
Listing1-1 Accessing properties using the dot syntax
Listing1-2 Accessing properties using bracket syntax
Figure1-1 Some Drawing Program Classes
Figure1-2 Rectangle Instance Variables
Class Types
Class Objects
Figure1-3 Inheritance hierarchy for NSCell
Listing1-3 Implementation of the initialize method
Class Names in Source Code
Testing Class Equality
Source Files
Class Interface
Importing the Interface
Referring to Other Classes
The Role of the Interface
Class Implementation
Referring to Instance Variables
The Scope of Instance Variables
Figure2-1 The scope of instance variables
An Example
Using super
Redefining self
Allocating and Initializing Objects
The Returned Object
Implementing an Initializer
Constraints and Conventions
Handling Initialization Failure
Coordinating Classes
Figure3-1 Incorporating an Inherited Initialization Method
Figure3-2 Covering an Inherited Initialization Model
The Designated Initializer
Figure3-3 Covering the Designated Initializer
Combining Allocation and Initialization
Declaring Interfaces for Others to Implement
Methods for Others to Implement
Declaring Interfaces for Anonymous Objects
Non-Hierarchical Similarities
Formal Protocols
Declaring a Protocol
Optional Protocol Methods
Informal Protocols
Protocol Objects
Adopting a Protocol
Conforming to a Protocol
Type Checking
Protocols Within Protocols
Referring to Other Protocols
Property Declaration and Implementation
Property Declaration
Declared Properties
Listing5-1 Declaring a simple property
Property Declaration Attributes
Property Implementation Directives
Listing5-3 Using @dynamic with direct method implementations
Using Properties
Supported Types
Property Re-declaration
Core Foundation
Listing5-4 Declaring properties for a class
Subclassing with Properties
Performance and Threading
Runtime Difference
Associative References
Retrieving Associated Objects
Breaking Associations
Complete Example
The for…in Feature
Adopting Fast Enumeration
Fast Enumeration
Using Fast Enumeration
Default Dynamic Behavior
Static Typing
Return and Argument Types
Static Typing to an Inherited Class
SEL and @selector
Methods and Selectors
Method Return and Argument Types
Varying the Message at Runtime
The Target-Action Design Pattern
Avoiding Messaging Errors
Enabling Exception-Handling
Exception Handling
Catching Different Types of Exception
Throwing Exceptions
Synchronizing Thread Execution
Listing12-1 Locking a method using self
Listing12-2 Locking a method using a custom semaphore
Distributed Objects
Remote Messaging
Language Support
Synchronous and Asynchronous Messages
Pointer Arguments
Proxies and Copies
Mixing Objective-C and C++ Language Features
Listing14-1 Using C++ and Objective-C instances as instance variables
Using C++ With Objective-C
C++ Lexical Ambiguities and Conflicts
Defined Types
Language Summary
Preprocessor Directives
Compiler Directives
Method Declarations
Method Implementations
Deprecation Syntax
Naming Conventions
Document Revision History
0 of .
Results for:
No results containing your search query
P. 1
Apple ObjC Guide

Apple ObjC Guide

Ratings: (0)|Views: 0|Likes:
Published by Wim Verhoef

More info:

Published by: Wim Verhoef on Aug 12, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 4 to 41 are not shown in this preview.
You're Reading a Free Preview
Pages 45 to 78 are not shown in this preview.
You're Reading a Free Preview
Pages 84 to 137 are not shown in this preview.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->