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

Table Of Contents

Who Should Read This Document
See Also
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
Referring to Instance Variables
The Scope of Instance Variables
Figure2-1 The scope of instance variables
Messages to self and super
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
Property Declaration and Implementation
Declared Properties
Property Declaration
Listing4-1 Declaring a simple property
Property Declaration Attributes
Property Re-declaration
Core Foundation
Listing4-4 Declaring properties for a class
Subclassing with Properties
Performance and Threading
Runtime Difference
Adding Methods to Classes
Categories and Extensions
How you Use Categories
Categories of the Root Class
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
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
Listing11-1 Locking a method using self
Listing11-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
Listing13-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


Ratings: (0)|Views: 5 |Likes:
Published by Lauri Hein

More info:

Published by: Lauri Hein on Jul 01, 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 11 are not shown in this preview.
You're Reading a Free Preview
Pages 15 to 36 are not shown in this preview.
You're Reading a Free Preview
Pages 40 to 59 are not shown in this preview.
You're Reading a Free Preview
Pages 63 to 133 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)//-->