My Learning Resources
// August 23rd, 2010 // By LordBron // iDevBlogADay, Learning Resources
I noticed today that I didn’t list any of the resources I used to actually learn how to program on the iOS. I have quite a few and I figure I should probably list them for posterity before I forget. I came to the iOS world from the Adobe Flex (read: Flash Platform) world. To say it’s a change of pace is a bit of an understatement. If you’re coming from PHP, JavaScript, etc., I’m sure the iOS world will seem as foreign to you as it was to me. What follows is my pointers to getting up to speed on the iOS platform.
Don’t Give Up
First and foremost, I have to say that the biggest hurdle to learning any new platform is your own stubbornness. The older we get, the more set in our ways we become. This applies to languages we speak as well as languages we code in. Objective-C in a unique language. I personally find it extremely fun, but I know the whole message sending and crazyLongAndDescriptiveMethodNames tend to freak people out. Stay at it. I promise, it gets to be very fun. I’m having a blast now!
Think the Objective-C and Apple Way
One of my problems when I started learning Objective-C and Cocoa was my technical baggage. I wanted the iOS platform to perform like other platforms I had programmed in the past. The more I tried to write apps like I used to, the more frustrated I got. It wasn’t until I looked at the language and platform from its perspective that things started to make sense.
Case in point, you’re probably used to subclassing framework classes. On the iOS platform, don’t do that. Subclass your own classes all you want. If you want to subclass NSString or NSMutableArray, don’t. Go learn about categories and use that instead.
Like all frameworks, look at how the framework makers code their stuff. Use that as the basis and jumping off point on how to code your own classes.
Books Are Your Friends
I love books. They are the #1 way I learn…period. In my last business, I worked and interfaced with a ton of publishers. On the iOS platform front, there’s one that stands head and shoulders above the rest: Apress. Granted, I sort of went in reverse order (iPhone -> Obj-C -> C), but hey, I’m stubborn and think I’m smarter than I really am at times.
The must have books to get started are:
Learn C on the Mac was a great help. Like I said above, it was the latest book I read despite it being the one I should’ve started with. The thing it teaches you that I didn’t realize I needed to learn was pointers. If you got a handle on pointers, than you can probably skip it. If you don’t get this and get a good grasp on that important topic.
Also, if you’re brand spanking new to programming, this book has a great primer for getting you introduced to the concepts you’ll live in with your code.
Dave Mark is a great guy and he has a love for the language that shows in his writings.
Learn Objective-C on the Mac by Mark Dalrymple and Scott Knaster is a great follow up. This teaches you all about messages, categories, protocols and, most importantly, memory management.
Beginning iPhone Development by Jeff Lamarche and Dave Mark is the book that started it all for me. I figured I could just jump in and become an iPhone expert off their book. Their book will get you darn close, but you really should go get a foundation of C and Obj-C before jumping here. Think of this book as the icing on your C/Obj-C cake.
Jeff is a great guy that I met a couple of years back. Despite a misunderstanding and miscommunication, Jeff was a great sport through it all. He’s a great person and often teaches classes. If you find one open and in your area, definitely take it. I’m sure he’s worth every penny.
Speaking of events
Other than books, there is one thing I love: conferences. Books get you the technical knowledge while conferences help you find new friends to help you along in this new journey. Below are my two recommendations.
Hands-down, for community vibe and interaction, this is the show to end all shows. Granted, I helped start it, but I’ve got nothing to do with it now. It’s run by John Wilker and he’s a huge fan of community driven events. It’s cheap, but don’t let that fool you. You get quality goods for a low price!
This is Apple’s big developer event. Unlike 360|iDev, WWDC will put a dent in your wallet. However, every speaker is an Apple employee. The people who build the products are the guys delivering the presentations. You can’t get any more expert than that.
The Labs are extra cool. You get to go and chat with the team responsible for all your favorite frameworks and packages.
Blogs
All the writers listed above have blogs. Speakers at the shows above have blogs. There are way too many to list here, but I have to mention at least two:
This is hands down one of the best tutorial blog sites out there. Ray really knows how to pack a lot of info into bite-size chunks. He has a donation button. I’ve contributed to it (and probably will give more), so don’t just leech. Pay the man for a job well done. He’s worth every penny you donate.
This is the coolest thing to ever come out of any coding community. Organized by the fearless Miguel Friginal, this is a great resource from a (semi) revolving band of indie game devs. The topics are varied, but the knowledge (aside from ours) is deep. Subscribe, read, learn and enjoy!
That’s It
I’m not an expert…yet. However, thanks to the resources above, I’m on my way. The iOS platform is incredible and so is the community that supports it. Don’t forget to pull your head outta your loops and statements to participate in it. Make friends (and, heck, maybe some enemies) but get out there and participate. You’re learning will only increase because of it.

I know people that gave up to iOS development because they hated Objective-C. On the other side, I loved it. theCrazyAmazinglyLongNames make it very descriptive and as you said, fun. Also it is so damn easy, just type the beginning, ESC and XCode does the rest for us.
I would like to also recommend two books:
Following APress series, comes Beginning iPad Development for iPhone Developers Mastering the iPad SDK and Cocoa and Objective-C Up and Running.
Yeah, the nice thing about the long names is the fact that you don’t have to go to the documentation very often. In other languages, I often code with the documentation open in one window and my code open in another. While that is nice, it’s far more nicer to just hit ESC like you said and find the one that fits your needs exactly.
[...] then Cocoa Touch, then Open GL ES. I pledged a book a week, mainly the Apress series mentioned in my last post. In the month of August, I got through the C, Obj-C and half the Cocoa book. I’m at the point [...]