small medium large xlarge

Writing Your First iPhone Application


Cover image for Writing Your First iPhone Application

Writing Your First iPhone Application


This screencast series is no longer for sale.

Now that the iPhone SDK has officially been released and the Apple App Store is open for business, it’s time to write killer mobile applications! To do that, you’ll need to use several powerful (and possibly unfamiliar) tools: Xcode, Interface Builder, Objective-C, and then the iPhone SDK itself. It can all be a little overwhelming at first. Learn how to write your first table-based iPhone application from Bill Dudney, an experienced iPhone developer.

Customer Reviews

Thanks for a great set of tutorials. They have been easy and clear to follow, and worth every penny.

- Mike Considine

These screencasts were awesome. Helped me really get my head around things fast.

- Brian Cooke

, roobasoft, LLC

Excellent video! Great for beginners like me.

- Zaldy Acosta

These videos would have saved weeks and weeks of head banging. In a couple hours I learned more than a month of searching through forums and blog posts.

- Mike Carter

Great screencast! It certainly filled in a lot of the holes I had in how
to get started with the iPhone.

- Patrick Burleson

See All Reviews

About this Title

Available in: DRM-free Theora Ogg, iPod/iPhone 3 Video, iPad/iPhone 4 Video, and Quicktime Video
Download and watch when and where you want

This screencast series is no longer for sale.

Building iPhone applications is a visual process. These video tutorials are a great way to learn by shoulder-surfing with an expert, whether you’re thinking about getting into iPhone development or already well on your way. You’ll learn his workflow, his development techniques, and the tricks of the trade. And you’ll walk away with the confidence and resources to build your table-based iPhone application from scratch.

NOTE: This covers XCode 3 only, not the newer versions. This impacts the following types of things: the course author, Bill Dudney, makes a point of using keyboard shortcuts. note: a customer has noted that the keyboard shortcuts in XCode 4 are completely different than in XCode 3.×. Also the XCode 4 “new project wizards” generate completely different starter applications than are generated in XCode 3.x

Note: These screencasts have not yet been updated for iPhone SDK 3.0. The example application still works with version 3.0, but has a few deprecation warnings.


Contents & Extracts

In this screencast series, we’ll build an iPhone application similar to the iPhone contacts manager. We’ll quickly transition from a stock Xcode template to a real application you can show off to your friends, and demystify the magic along the way. In addition to the videos, you can also download the source code for each episode so you can experiment on your own.

  • Episode 1: Creating Table Views

    Table views are central to many iPhone applications, such as the contact
    manager. In this episode, we’ll start by creating a table view to display our recipes. You’ll learn about:

    • creating a new Xcode project
    • adding tables to views in Interface Builder
    • creating view controllers
    • how delegate methods work, specifically with table views
    • making connections in Interface Builder
    • how to set up table view data sources
    • handling table cell selection
    • tricks to navigating the documentation
  • Episode 2: Linking Table Views with a Navigation Controller

    Once you have a table view that shows some data, you typically want
    to navigate deeper when you select a table cell. For example, when you tap
    on a recipe, you want to see its ingredients. That’s what navigation
    controllers are for. In this episode, you’ll learn about:

    • linking two table views with a navigation controller
    • how view controllers are stacked
    • adding outlets and controllers
    • cascading NIB files
    • reloading table data
    • adding disclosure indicators
    • more advanced connections in Interface Builder
  • Episode 3: Adding Text Fields and Buttons

    Every good iPhone application needs to get input from the user, and this
    episode shows you how to get input from the keyboard. We’ll use a table view and a text field to accept new recipe names. You’ll learn about:

    • adding table view cells
    • text fields and techniques for optimal data entry
    • implementing different button types
    • animating modal views and controllers
    • writing delegate methods to handle user input
    • ways to navigate between views
  • Episode 4: Editing On a Table View

    If you’ve played with your iPhone much, you’ve noticed those green (+) and red (-) buttons to add and remove rows from a table view. In this episode, we’ll use these UI techniques to add and remove recipe ingredients. You’ll learn about:

    • adding (+) and deleting (-) table rows
    • using the Edit/Done button for editing a table view
    • animating the addition of new table rows
    • changing the editing style icons
    • another example of a navigation controller
    • more advanced connections in Interface Builder
  • Episode 5: Reordering Rows and Persisting Data

    When you quit an iPhone application and restart it later, you want important
    data to be preserved. In this episode, we’ll save our recipes and their ingredients in a SQLite database. Then we’ll add the ability to reorder ingredients and save their order back to the database. You’ll learn about:

    • creating a SQLite database
    • persisting data to a SQLite database using a simple wrapper class
    • how to reorder table rows
    • limiting which rows are reorderable
    • restricting where rows can be repositioned
    • preserving row order in the database


These screencasts assume you have a basic working knowledge of Objective-C and Cocoa, although you can follow along if you know any object-oriented language. If you’re new to Objective-C, you might consider starting with the Coding in Objective-C 2.0 screencasts.

Episode 5 assumes you have basic working knowledge of relational databases and SQL.


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.