Writing Your First iPhone Application
screencasts with Bill Dudney
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.
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.
- Don’t miss the free “Getting Started with Xcode and Interface Builder” episode (26 MB, 22 mins, QuickTime | iPhone/iPod). You can also watch the free preview movie (8 MB, 2 mins, QuickTime) where Bill highlights the application he builds throughout these screencasts.
- If you need a jump start using Xcode (the IDE used for iPhone development), have a look at Mike Clark’s two-part Becoming Productive in Xcode screencasts. And if you’re new to Objective-C, you might consider starting with the Coding in Objective-C 2.0 screencasts before trying iPhone development.
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.
- Download and watch DRM-free episodes when and where it's convenient for you
- You get QuickTime, iPod/iPhone, and Theora Ogg formats.
- All the source code is available
Buy Now
All the episodes in this screencast series have been released.
Contents
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
Audience
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.
About the Screencaster
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.
