Objective-C is the programming language for writing native iPhone and Mac applications. It’s also the language that Apple uses to build their own applications and frameworks. So, if you know Objective-C, you have a lot of power at your fingertips. But if you’re new to C or object-oriented programming, then Objective-C can seem a little awkward at first. These screencasts by Bill Dudney, an experienced Objective-C programmer, will help you quickly get up to speed on Objective-C 2.0 basics.

Buy Now

  • Download and watch DRM-free episodes when and where it's convenient for you
  • You get Theora Ogg, iPod/iPhone 3, iPad/iPhone 4, and QuickTime formats.

All the episodes in this series have been released.


About this Screencast

After watching these video tutorials, you’ll be more confident to start writing high-quality iPhone and Mac applications. You’ll not just know how to write code, you’ll also understand why it works. You’ll feel more comfortable with the Objective-C syntax and object-oriented programming in general. You’ll also be able to manage memory wisely and diagnose common memory problems. You’ll have added yet another programming language to your toolbox, and your resume!

  • Watch a free sampler movie of this screencast series.
    (4 min, QuickTime | iPhone/iPod | Ogg)
  • If you need a jump start using Xcode (the IDE used for Mac OS X programming), have a look at Mike Clark’s two-part screencast series.

Contents and Extracts

In addition to the videos, you can also download the source code for each episode so you can follow along and experiment on your own.

  • Episode 1: Classes, Objects, and Messages (59 minutes)

    In this episode, we’ll write a small program in Xcode to learn the basics of object-oriented programming with Objective-C. You’ll learn how to:

    • Write, build, and run basic Objective-C code in Xcode
    • Use the Objective-C extensions to C for object-oriented programming
    • Understand basic object-oriented programming concepts
    • Use existing classes
    • Write your own custom classes
    • Define instance variables
    • Use Objective-C 2.0 properties
    • Define and implement methods
    • Instantiate objects
    • Send messages to objects
    • Override superclass behavior
    • Write custom initializers
  • Episode 2: Memory Management (41 minutes)

    Objective-C 2.0 has a garbage collector, but it’s not available on the iPhone. So if you’re writing iPhone applications, you’ll need to manage your own memory. And it’s especially important on the iPhone, where resources are constrained, that you clean up after yourself. In this episode, we’ll find and fix various memory-management problems that are common in Objective-C programs. You’ll learn how to:

    • Manage memory wisely using retain, release, and autorelease
    • Apply object ownership rules
    • Understand how reference counting works
    • Track down over-release problems
    • Use Instruments to find and fix memory leaks
    • Clean up an object’s state in the dealloc method
    • Release and retain instance variables in setter methods
    • Use properties to ensure consistent memory management
    • When and how to autorelease objects using autorelease pools
  • Episode 3: Debugging (42 minutes)

    Bugs happen, even in Objective-C programs. You’ll want to find and fix them as quickly as possible. Thankfully, Xcode has a powerful debugger. In this episode, we’ll explore the various features and commands of the debugger, use it to find a bug, and wrap up with remote debugging. You’ll learn how to:

    • Use the debugger to find and squash bugs
    • Set breakpoints, and disable them for quicker debug cycles
    • Navigate your program with debugger controls
    • Inspect and change program state on the fly
    • Edit breakpoints to conditionally stop or run arbitrary actions
    • Use common GDB commands for more convenient debugging
    • Debug an iPhone or iPod Touch application remotely
    • Other expert debugging tips and tricks!
  • Future Episodes

    At some point in the future (we don’t know exactly when), we’re planning to record and release a few more episodes on topics including:

    • Unit testing
    • Categories and protocols
    • Dynamic programming
  • If you’ve purchased an episode in this series, and your account is configured to receive e-mail announcements from us, we’ll send you an e-mail when new episodes are released.


These screencasts are ideal for programmers who are new to object-oriented programming and Objective-C. No prior experience with C is required.

About the Author

Bill Dudney is a software developer and entrepreneur currently building software for the Mac. He’s also the author of iPhone SDK Development and Core Animation for OS X and the iPhone. Bill started his computing career on a NeXT cube with a magneto-optical drive running NeXTStep 0.9. He created several iPhone applications currently selling on the App Store. You can follow him on his blog.

Comments and Reviews

  • Kent Fenwick said:

    Awesome series and worth every penny! With limited Objective-C materials on the market, this is a must for anyone doing Mac or iPhone development. Bill takes his time and shows you the why, as much as he does the how, making the concepts easier to pick up. Fantastic job!

  • Thanks for the excellent screencast – far better than anything else I’ve seen! You have the right pace and depth and I love being able to stop the video, implement your steps (adding a few of my own to test out my knowledge) and then resume.

    —John Finch
  • As usual, I found these screencasts to be totally invaluable!

    —Adrian Collins
  • They are awesome!

    —Todd Ritter
  • Your tutorials are the best I have ever seen. I have learned more over the course of this past weekend watching the videos (and working right along with them) than I have in months of studying on my own.

    —Bob Baggarley