Phew, I just finished reading this book after putting about 68 hours of work into it, trying to understand every chapter and notion and writing the code myself so that it will better stick in my head.
I have to say, this has got to be one of the best technical books I've ever read, certainly great for a noob in Objective C and Cocoa like myself (but not an inexperienced programmer).
Things I believe contribute to the quality of this book:
- it is written with a nice pace in mind, taking the time to explain why certain choices were made and how iOS components work; every task is explained in detail, especially the Interface Builder tasks which can take some time to get used to and the authors never assume that you know how to do a certain thing - which is great for beginner developers; it also means that you can pick up chapters in a relatively random order and still be able to grasp how to work with XCode;
- goes through all major components of the Cocoa framework and provides relevant and well documented code;
- the book has a dedicated website which offers support in the form of a forum and from where you can download all the source code and resources used throughout the book;
- the authors included funny bits and bobs of text along the way, which help bring your morale up as you start wondering if this stuff is really for you;
- updated for iOS 5, includes information about ARC and a dedicated chapter for Storyboards;
- the authors teach you to think rather than learn how to do different tasks, which will definitely come in handy in the future, as XCode will most definitely change as it has in the past; a testament to this is that I've read the book partly from the 2nd version, while using the latest Xcode (4.2 at the moment) and was able to set up the projects correctly even though namings didn't quite match; after I switched to the third edition (this book) everything was as you would expect - up to date with XCode 4.2;
I have to say, this has got to be the best money I've ever invested in learning, as the price per quality ratio of this book goes through the roof!
I definitely recommend this book to any developer who wants to start building iOS applications and doesn't have any previous experience with Objective C and/or Cocoa. The book slowly builds on programming principles and Cocoa patterns, never assuming that you should know this or that. While knowing a bit of Objective C definitely helps, the authors explain each concept good enough to allow you to progress with the book without wondering what in the world have you just wrote.
I previously read Stephen Kochan's Programming in Objective C 2.0 which is a very good primer to the Objective C language but doesn't really teach you how to program iPhone or iPad apps and I'm also reading Aaron Hillegass' Objective C Programming, The Big Nerd Ranch Guide, which again seems like a language primer more than a book targeted to teaching you how to correctly think and develop iOS apps.
I'm pretty sure there are other good books out there, but I cannot stress enough the fact that if you're starting out this book will take you through all the necessary steps to understand how Cocoa works and how the apps are structured, what you can and cannot do with iOS and where to seek help when you'll need it.
I've really enjoyed this book, I'm pretty certain I now have a decent grasp on iOS development.
I'll be looking forward for any iOS books written by the same authors!