Workshop: Intermediate Objective-C


Details
You've played around with Objective-C, and maybe you've even written your first app. Congratulations! Now where do you go from here? How do you work with the language to write larger apps while keeping them maintainable? What did half of that code you copied and pasted from online tutorials mean?
Intermediate Objective-C is designed to get you comfortable with many of the language concepts you'll run into everyday and show you how you can leverage those concepts in your own apps. We'll demystify many of the patterns Apple follows when designing their apps and frameworks, letting you leverage them for cleaner and more maintainable code.
The format will be a ~60/40 split of lecture topics vs hands-on time in Xcode. Most learn best by doing, so we’ll never go too long with a lecture before hopping back into Xcode to use what you just learned. Throughout the day we’ll be building an application that leverages these intermediate topics, and we’ll have plenty of people on hand to help you out along the way.
We'll be covering a variety of topics:
- A quick crash course in the fundamentals of Objective-C including object messaging, object-oriented concepts, and properties.
- Common patterns for moving data around in an iOS application using Objective-C. For example defining your own protocols, using KVO, and NSNotificationCenter.
- Extending Apple's built-in classes with your own functionality using categories.
- Error handling techniques, including how to create and return that mysterious "&error" pointer in your own error-handling code.
You’ll walk away with
- A copy of the slides from the day (available online).
- A working application demonstrating many of the topics you learned throughout the day, great for future reference.
Prerequisites
- You'll need a Mac laptop running the latest Xcode (5.1.1).
- You've spent some time writing Objective-C in the past. You don't need 5 apps under your belt, but you should be comfortable with the basics of Objective-C.
Payment
We'll be using Square to accept credit card payments at the door.
About the Teacher
Curtis Herbert is an independent software consultant who has been writing apps for iOS since the SDK was first released.

Workshop: Intermediate Objective-C