contents preface
acknowledgments
about this book
author online
about the cover illustration
Part 1 Getting started with Objective-C
Chapter 1 Building your first iOS application
Introducing the iOS development tools
Adjusting your expectations
Using Xcode to develop a simple Coin Toss game
Hooking up the user interface
Compiling the Coin Toss game
Taking Coin Toss for a test run
Summary
Chapter 2 Data types, variables, and constants
Introducing the Rental Manager application
The basic data types
Displaying and converting values
Creating your own data types
Completing Rental Manager v1.0, App Store here we come!
Summary
Chapter 3 An introduction to objects
A whirlwind tour of object-oriented programming concepts
The missing data type: id
Pointers and the difference between reference and value types
Communicating with objects
Strings
Sample application
Summary
Chapter 4 Storing data in collections
Arrays
Dictionaries
Boxing
Making the Rental Manager application data driven
Summary
Part 2 Building your own objects
Chapter 5 Creating classes
Building custom classes
Declaring the interface of a class
Providing an implementation for a class
Declared properties
Creating and destroying objects
Using the class in the Rental Manager application
Summary
Chapter 6 Extending classes
Subclassing
Adding new instance variables
Accessing existing instance variables
Overriding methods
Class clusters
Categories
Subclassing in your demo application
Summary
Chapter 7 Protocols
Defining a protocol
Implementing a protocol
Important protocols
Summary
Chapter 8 Dynamic typing and runtime type information
Static vs. dynamic typing
Dynamic binding
How messaging works
Runtime type information
Practical uses of runtime type introspection
Summary
Chapter 9 Memory management
Object ownership
Reference counting
Autorelease pools
Memory zones
Rules for object ownership
Responding to low-memory warnings
Summary
Part 3 Making maximum use of framework functionality
Chapter 10 Error and exception handling
NSError—handling errors the Cocoa way
Creating NSError objects
Exceptions
Summary
Chapter 11 Key-Value Coding and NSPredicate
Making your objects KVC-compliant
Handling special cases
Filtering and matching with predicates
Sample application
Summary
Chapter 12 Reading and writing application data
Core Data history
Core Data objects
Core Data resources
Building the PocketTasks application
Beyond the basics
Summary
Chapter 13 Blocks and Grand Central Dispatch
The syntax of blocks
Performing work asynchronously
Summary
Chapter 14 Debugging techniques
Building an application, complete with bugs
Understanding NSLog
Bringing memory leaks under control with Instruments
Detecting zombies
Summary
appendix A Installing the iOS SDK
appendix B Configuring Liferay Portal with MySQL database
appendix B The basics of C
appendix C Alternatives to Objective-C
index