Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Assuming you already know a bit of C and that you like learning by tutorial I'd recommend working through "Cocoa Programming for Mac OS X" 3rd Ed. by Aaron Hillegass. You will get a good tutorial-based introduction to Objective C, Xcode/Interface Builder and the design patterns used to build both OSX and iPhone apps. (iPhone is not mentioned in the book at all but the general patterns are the same.)

Be sure to understand the retain/release memory model as the garbage collector is not avail. on the iPhone.

With the background you gain from Hillegass you'll find it very easy to pick up the differences between OSX development (which uses AppKit) and the iPhone development (which uses UIKit). There is a lot of good information found at the iPhone Dev. Program's website which bridges the gap.

The tutorial approach is always a little frustrating to me personally as often details are glossed over and the topics are not covered systematically but if you supplement the tutorial with the information provided by Apple you can resolve all the little annoyances as they come up.

Finally I recommend watching the videos Apple's prepared about iPhone development.

Good luck and have fun!



I second this. The book is pretty relevant even to iPhone programming.

Coming mainly from a Windows background, personally, I've found the hardest thing has been getting used to the OSX/iPhone memory management which can bite in unpredictable ways when you get it wrong.

However, the iPhone SDK comes with many demos and working code which is great for working through when you need a particular behavior. Don't discount Mac examples either, as much of the foundation code still works, even on the iPhone.


I did this, and it made it pretty simple to later go through the Apple Developer documentation included with Xcode. It's worth setting aside a pretty good amount of time to thoroughly learn how everything works, because it's pretty easy to do braindead things otherwise (my first tableview with custom cells was doing TERRIBLE things).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: