Cocoa Programming for Mac OS X by Aaron Hillegass, Adam Preble
I have read several books by the author, Aaron Hillegass, and seen him speak live. He’s a great resource to the iOS development community. I am also an intermediate Objective-C developer, team leader, have published several apps to the App Store and also instruct beginners on iOS development. Whether you are looking to get into Mac OS X or IOS development this book is a great addition to your library.
To begin with it focuses on the latest version of Xcode and iOS 5 which includes ARC (Automatic Reference Counting) which is a huge time saver for development. Without ARC you had to manage the memory allocations for your own objects – take my word for it, a PITA if you are new to Objective-C. The book has been updated to work with more code automation in Xcode, using drag and drop to make connections to outlets and actions – another huge timesaver. This is one of the first books on the market to include those. For a beginner or intermediate coder using older books on earlier editions can be very frustrating.
The style in Aaron’s books is that he dispenses with the hand holding approach of most of the books I’ve read. Other books give you a step by step instruction as you go through the things you may want to learn. That approach actually impairs your ability to actually learn. The Big Nerd Ranch approach is to show you how to do something, by dealing with just one or two key concepts at a time. Then they immediately challenge you to put together what you’ve learned so far. This is completely optional, but a great concept for learning. If you find the challenge too difficult then you may want to review what you’ve learned previously.
I’ll admit when I read the Third Edition I was more of a junior dev in Objective-C and found the going rough sometimes. That was the challenge of the Objective-C learning curve – not the book. Now that I am more familiar with Objective-C, I find that the fog is gone and both editions make sense. This Fourth Edition is a great tool to get up to speed on the new concepts in iOS5 and Xcode 4. If you are just getting started or need to polish your skills, I highly recommend this book.