**Before Buying**
Learn Objective-C, or another C-derived language. Seriously. Do it. Knowing Ruby or JavaScript or another web technology won't do; YOU MUST LEARN OBJECTIVE-C. If you don't know Objective-C, start with Big Nerd Ranch's other book: Objective-C Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) (also on Amazon and also amazing). Once you know Objective-C, come back and buy this book. It's incredible.
**General Info**
I tried to use several iOS educational materials all over the web - paid and free - and I struggled with them all. They either assumed too much, or were just poorly structured for actual learning. Wandering around in code does NOT make a good learning experience.
So what sets Big Nerd Ranch's book apart? The authors are trainers/teachers by trade, and it shows - the structure of this book made learning easy, enjoyable, POSSIBLE. They aren't just wading through code and expecting you to get it; they outline what they are doing, and why, then show you the syntax, then fill in the gaps, then roll over it all with a fresh coat of learning paint. And in the end it's beautiful.
The authors also set up a discussion forum for the book and its Challenges on their website, which was a very handy resource. There, you can talk with people who are reading the book at the same time you are! compare answers, etc.
**Length**
To give you an idea of the scope of this book, it took me roughly 120 hours to complete (roughly 2.5 weeks working on it full time). I'm not sure if this is typical, or slow, or fast. But it's a 550-page beast. A beautiful, beautiful beast.
**Results**
When I started this book I had basically 0 programming background. I knew some Ruby, and can put together a very basic website using Rails. None of that mattered, though; none of that helped me here.
But by the end of this book, I felt like a true (albeit novice) iOS Programmer. I feel that way because of two things:
(1) After reading this book, I can download almost any App from the App Store and explain how it could be built. And then build something just like it.
(2) A good friend of mine has been an iOS developer for 2 years now, and after reading this book he and I can have conversations - REAL conversations - where we trade best practices and so on. Make no mistake, for him the syntax is automatic whereas for me I still have to think about it. He's been through TONS of real App creation, whereas I'm mostly practiced in the fundamentals. But he's not bored!
Imagine having a conversation with Stephen Hawking where he doesn't find you boring. Sure, he's 100x smarter than you, but you can hang with the man! That is how I feel about other iOS developers now, and it feels GOOD.
**Conclusion**
Do all the challenges. Get lost in them and frustrated and use the forums. Get familiar with StackOverflow.com. But start by learning Objective-C and then getting this book.
Highly recommended. 5-star. If you've always wanted to bring to life the things in your head, this book might be a life changer.