Beginning iPhone 3 Development is a solid beginner's book. However I would not recommend the book to completely novice programmers with no programming experience. Complete beginners might wonder what MVC, protocols, delegates, outlets would mean. These are advanced topics although not difficult to comprehend may overwhelm the completely new beginner. If you have other programming background particularly object oriented language you will have no problem understanding the Objective C constructs. It does help a lot and makes the picture clearer when you understand what they mean. Like for example, the use of square brackets [ ] is the dot notation version in calling methods from an object instance in C# or Java. It also helps to know the notion of method naming in Objective C which is very new to me i.e. the method name includes the series of parameters involved in the behavior which actually makes sense. I am used to naming methods by just the verb without the parameters involved. I had to look this up elsewhere as I found the method declarations completely baffling at first. But like when you start using the Mac coming from Windows, you get used to it and if you think about it more closely, it makes more sense and is actually very well designed.
Anyway, back to the book: I particularly like the progressive style especially in the beginning when as a newbie Objective-C programmer and Xcode user I have no idea what outlets, delegates and protocols are. The authors present simple chunks of exercises that build up to more complicated ones with just the right balance not to overwhelm the readers. Although the progression from simple to complex examples are well presented, the practicality and reusability of the examples are slightly questionable. This is debatable because whilst the choice of simpler example with no practical application creates a less steeper learning curve by isolating the topics at hand. I could also do with a more cohesive set of examples that lead into a final unified application. But this is the style the authors have chosen and I am not complaining as I have learnt a lot from the literature.
The meat of the book are topics concerning and leading up to Table Views manipulation from basic interaction to navigation. Chapter 11 about Basic Data Persistence falls flat with a very compact explanation especially on SQLite. The authors have however written the sequel book concentrating on what they have left on Data Persistence. Other chapters although compact are still useful including Quartz and OpenGL, Gestures, Core Location, Accelerometer, Camera and Localization.
I recommend that the reader, type the exercise themselves as you will more likely remember the topics involved. This is mandatory to beginner books and tutorials. However a bit of warning to those typing the code themselves. Especially when a specific protocol dictates a mandatory method to be overridden or implemented. If you misspell the method name, the application will likely crash with no clue in the debugger as to what happened. This is a gripe of mine directed towards Xcode as opposed to the book, because coming from a Visual Studio user, the mandatory methods would have been easily re-factored by the IDE. My advice is, just don't make any typographical mistakes. If the application crashes, you can download the actual code itself from their website and run it without any problems.
In conclusion, I thoroughly enjoyed this book. It's a beginner's book and it packs in a good punch in iPhone development.