Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Introduction
1 The Objective-C Philosophy
Understanding the Object Model
A Tale of Two Type Systems
C Is Objective-C
The Language and the Library
The History of Objective-C
Cross-Platform Support
Compiling Objective-C Programs
2 An Objective-C Primer
Declaring Objective-C Types
Sending Messages
Understanding Selectors
Declaring Classes
Using Protocols
Adding Methods to a Class
Using Informal Protocols
Synthesizing Methods with Declared Properties
Understanding self, _cmd, super
Understanding the isa Pointer
Initializing Classes
Reading Type Encodings
Using Blocks
3 Memory Management
Retaining and Releasing
Assigning to Instance Variables
Automatic Reference Counting
Returning Objects via Pointer Arguments
Avoiding Retain Cycles
Migrating to ARC
Autorelease Pools
Using Autoreleased Constructors
Autoreleasing Objects in Accessors
Supporting Automatic Garbage Collection
Interoperating with C
Understanding Object Destruction
Using Weak References
Allocating Scanned Memory
4 Common Objective-C Patterns
Supporting Two-Stage Creation
Copying Objects
Archiving Objects
Creating Designated Initalizers
Enforcing the Singleton Pattern
Delegation
Providing Façades
Creating Class Clusters
Using Run Loops
5 Numbers
Storing Numbers in Collections
Performing Decimal Arithmetic
Converting Between Strings and Numbers
Reading Numbers from Strings
6 Manipulating Strings
Creating Constant Strings
Comparing Strings
Processing a String One Character at a Time
Converting String Encodings
Trimming Strings
Splitting Strings
Copying Strings
Creating Strings from Templates
Matching Patterns in Strings
Storing Rich Text
7 Working with Collections
Using Arrays
Manipulating Indexes
Storing Unordered Groups of Objects
Creating a Dictionary
Iterating Over a Collection
Finding an Object in a Collection
Subclassing Collections
Storing Objects in C++ Collections
8 Dates and Times
Finding the Current Date
Converting Dates for Display
Calculating Elapsed Time
Parsing Dates from Strings
Receiving Timer Events
9 Working with Property Lists
Storing Collections in Property Lists
Reading Data from Property Lists
Converting Property List Formats
Using JSON
Storing User Defaults
Storing Arbitrary Objects in User Defaults
10 Interacting with the Environment
Getting Environment Variables
Parsing Command-Line Arguments
Accessing the User’s Locale
Supporting Sudden Termination
11 Key-Value Coding
Accessing Values by Key
Ensuring KVC Compliance
Understanding Key Paths
Observing Keys
Ensuring KVO Compliance
12 Handling Errors
Runtime Differences for Exceptions
Throwing and Catching Exceptions
Using Exception Objects
Using the Unified Exception Model
Managing Memory with Exceptions
Passing Error Delegates
Returning Error Values
Using NSError
13 Accessing Directories and Files
Reading a File
Moving and Copying Files
Getting File Attributes
Manipulating Paths
Determining if a File or Directory Exists
Working with Bundles
Finding Files in System Locations
14 Threads
Creating Threads
Controlling Thread Priority
Synchronizing Threads
Storing Thread-Specific Data
Waiting for a Condition
15 Blocks and Grand Central
Binding Variables to Blocks
Managing Memory with Blocks
Performing Actions in the Background
Creating Custom Work Queues
16 Notifications
Requesting Notifications
Sending Notifications
Enqueuing Notifications
Sending Notifications Between Applications
17 Network Access
Wrapping C Sockets
Connecting to Servers
Sharing Objects Over a Network
Finding Network Peers
Loading Data from URLs
18 Debugging Objective-C
Inspecting Objects
Recognizing Memory Problems
Watching Exceptions
Asserting Expectations
Logging Debug Messages
19 The Objective-C Runtime
Sending Messages by Name
Finding Classes by Name
Testing If an Object Understands a Method
Forwarding Messages
Finding Classes
Inspecting Classes
Creating New Classes
Adding New Instance Variables
Index
← Prev
Back
Next →
← Prev
Back
Next →