Update: I’ve started a Github repo that has completed assignments.
I’ve mentioned this before countless times to friends: the Stanford course on iOS Development is really mind-blowing. It’s the best way to learn iOS and Objective-C: Paul Hegarty is a wonderful teacher, the content & density of the slides is excellent and the complex Cocoa Touch framework and the Xcode 4 development environment is brought out very well through hands-on coding sessions.
Just to take one example, take a look at this slide above detailing MVC in iOS. I can point out dozens of developers who wouldn’t have this condensed understanding even after months with the ecosystem. In this small slide, you have:
- Models, Views & Controllers with road lines between them depicting the fact that models and views never talk to each other (double-yellow line), controllers always talk to models and views (dotted white) and when models and views need to talk to controllers, they do so in very defined ways (solid white).
- When views need to talk to controllers, they either fire an action arrow into a controller target, or delegate will, should, and did methods to the controller, or when they want data from the controller, set up a datasource and ask for data at & count methods.
- When models need to talk to controllers, they set up a radio station and broadcast notifications that controllers then tune into.
And this is just one slide in the introductory lecture. It’s a wonderful time to be a self-taught app developer. The Stanford course is right now ongoing and lectures are being updated on iTunes U. There’s a Piazza discussion forum as well for the course.