Author: Stephen G. Kochan
Aimed at: Mac programmers
Pros: In depth introduction
Cons: Doesn't cover application development
Reviewed by: Ian Elliot
This is a book that is very much focused on the Objective-C language rather than the wider issue of using the language to create Mac applications.
What this means is that if you are looking for a book on application development you might need a different book. However learning the language well before moving on to master any UI frameworks is a good idea. So many iOS programmers seem to learn Objective C as they go along and by analogy with whatever language they already know. However Objective C does have some different ways of approaching familiar problems and if you want to become a master of Cocoa or iOS programming then you really should spend the time digging deeper into Objective C.
The book is split into three sections. The first is about the language as an entity in its own right. The second deals with the foundation framework i.e. not the UI and the third deals with Cocoa, Cocoa Touch and the iOS SDK but this is a very short section consisting of two chapters.
The first part of the book, 300 pages, is a more or less traditional introduction to an object oriented language. The topics covered range from classes, objects, methods, data types, looping, decision statements, inheritance, polymorphism, categories and prototypes. The final two chapters deal with some technical aspects - using the preprocessor and underlying C features. The examples used are short and the explanations are to the point. Although it does cover some basic features - like loops - the presentation wouldn't really suit a complete beginner but it does try hard to be easy to follow. It also reaches some quite complicated topics by the end of the section.
The second part of the book is shorter at around 100 pages. It goes into the details of using the foundation framework - strings. collections, files, memory management, copying objects and archiving.
The final part is even shorter at around 40 pages and attempts to deal with a lot of material very quickly. The result is, of course that, you get little more than an overview. In most cases you will need another book to move you on to something more advanced in using Cocoa. In particular this is not a book on using Cocoa or on developing iOS applications and there are lots of other books that deal with this side of the programming task.
As long as you don't expect this book to be an introduction to iOS or Cocoa programming then it is a very good introduction to the Objective C language - recommended.