Author: Joe Conway & Aaron Hillegass
Publisher: Big Nerd Ranch Guides, 2011
Aimed at: All but complete beginners
Pros: Attractive layout, logical structure
Cons: Doesn't cover Objective C in depth
Reviewed by: Harry Fairhead
If you are looking for a book on iOS programming than this is a good choice. It is a second edition of the Big Nerd Ranch title iPhone Programming and the name change is indicative of the fact that it now includes material on writing iPad applications. If you have the first edition then yes if probably is worth getting a new updated copy.
Overall this is a very down to earth account of iOS programming. It starts off with a simple example that walks you through using Xcode, building an interface and adding some code. It also introduces the Model View Controller pattern but without too much theory to distract at this early stage. At the end of the chapter you should have an over view of the development process.
Chapter 2 outlines Objective C and Chapter 3 outlines memory management. These are not really low level enough for the complete beginner, but if you have any experience of programming in another language they should be enough to point out the differences between what you know and the way Objective C does the job.
Chapter 4 moves back to looking at how to use the framework and core location in particular and it starts a long section that deals with different aspects of the framework - text input, subclassing in the UI, view controllers, the accelerometer, notification and rotation, camera, model view controllers, saving, loading and multitasking. Later it deals with more specific topics such as localization, settings, touch events and so on. Finally we take a look at animation, web services, media playback finishing up with push notification.
The most important thing to say is that this book is clear and to the point. It also looks easy to read with lots of clear diagrams and mostly useful screen dumps. I had forgotten how much a good layout can make a book seem more attractive and easier to read. The only way that this book could let you down is if you wanted an in depth introduction to Objective C - and there is another book by one of the authors that covers this topic. It also doesn't go off the beaten track in the sense that the authors are only concerned with explaining how things work rather than getting involved with clever ways to make use of the facilities provided.
There is also the small matter that Apple keeps on updating the software so no book can stay 100% accurate. In the main this doesn't matter so much with this book because it teaches you the ideas and this makes it possible for you to adapt to the changes that will be thrown at you as the platform evolves.
Update: 3rd edition (see side panel) covers iOS 5 and Xcode 4.3.
Highly recommended to all readers except the complete beginner.