small medium large xlarge

Coding in Objective-C 2.0


Cover image for Coding in Objective-C 2.0

Coding in Objective-C 2.0


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.

Customer Reviews

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!

- Kent Fenwick

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

See All Reviews


Contents & 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.


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.