This one is the best of the bunch. It is written by someone who knows how to write , not just program. You will need a working knowledge of C/C++ though.
I lost count of how many times the author preempted my questions as I was reading
I wasted my money on 2 other books, including the NerdRanch one. If you want to learn objective c , get this. If you want to waste time typing lots of code for projects that don't actually teach you, look elsewhere.
I've been trying to learn objective C and iOS programming with 3 books before this one, and I can finally say that I'm learning!
I come from C programming and some other minors languages and needed some deep base to understand how objective C works (which is what, at the end, will guide you thru programming) and the whole first part of this book is all about that: theory and understanding what is everything you see when you look into the code. All the previous books I've used failed on that and so they turned out to be useless for learning (at least I can use them now that I understand what I'm reading).
I think I've learnt a good lesson related to programming books: Never trust a book that starts right writing code unless you already know that language! Early 'Hello World' examples are totally useless since you find yourself writing a bunch of code you don't know what the heck its meaning is and is easy to get discorauged.
Can't stop recommending it, I've truly learnt how objective C works and, if you have a background as mine (at least previous C knowledge), this IS the book for you!