Training > All Courses > iPhone Development > iPhone/iPad Development

Course Summary

Introduction to iPhone and iPad Development

iPhone/iPad development from the ground up.

Learn to use the iPhone SDK's Xcode, Interface Builder, and UIKit framework to develop sophisticated, full-featured iOS 4 iPhone and iPad applications. This development training course will enable you to use many of the powerful features of Objective-C, Cocoa Touch, and the various iPhone SDK libraries and frameworks.

Craft native iPhone applications.

You'll learn the essentials of iPhone and iPad development: the tools, frameworks, concepts, and best practices—with plenty of hands-on exercises to strengthen your understanding.
More...

Duration

5 days.

Objectives

iPhone Programming Workshop Student Guide

We take a somewhat different approach to teaching iPhone and iPad development. First, we spend considerably more time on Objective-C 2.0 and the Foundation framework. We think that's essential to becoming a competent iPhone/iPad developer.

Second, we don't jump right into Interface Builder (IB) when we start getting into iPhone and iPad development. Instead, we'll show you how to do everything programatically at first. Once you have a solid grasp of how the user interface works at the API level, we'll show you how to integrate IB into your development process. That will help clear up a lot of the confusion that usually results when developers first start trying to use IB. (Interface Builder is unusual in that it's not a code generator—instead, it works with serialized objects, so it can seem awfully magical at first.)

This approach is in keeping our overall training philosophy, which favors a bottom-up methodology that allows you to learn from scratch, step-by-step. Not only does this make learning easier; it'll help you lay down a more solid foundation for iPhone and iPad development.

We combine this approach with a smaller class size that ensures plenty of individualized attention from the instructor. That way, we can be sure you'll have a chance to get all your questions answered, and get all your lab exercises completed successfully.

  • Gain hands-on proficiency with Objective-C 2.0 and the Foundation framework for iPhone and iPad development
  • Get up to speed fast on Xcode and Interface Builder
  • Learn to write custom iPhone/iPad drawing and animation code
  • Access iPhone and iPad user input from touches, as well as from the accelerometer and Core Location
  • Set up and manage iPhone and iPad controls such as text fields, buttons, and pickers.
  • Work with the iPhone's table views, navigation controllers, and other UI components
  • Persist iPhone and iPad application state and user data

Audience

Take this course if you're:

  • A C programmer (or have taken ANSI C Programming or the equivalent)
  • Interested in learning the iPhone SDK to create great iPhone and iPad applications.

For further information on which courses would suit you best, please take a look at our guide on iPhone and iPad development classes.

Additional Notes

Learn from a seasoned developer and teacher.

Jonathan Lehr is the founder and President of About Objects. In over two decades of experience as a software developer and trainer, he has written several books and more than a dozen courses on Objective-C, Cocoa, iPhone development, Java, and other programming topics.

Jonathan first learned Object-Oriented programming on a NeXT workstation he bought in 1991, and he has been sharing his enthusiasm for Objective-C and Cocoa ever since.

Need a machine? Reserve a 20" iMac Today!

Bring your own MacBook or MacBook Pro. Or—if you're attending classes at our headquarters facility in Reston—reserve one of our 20" iMacs with Core Duo processor and 2GB of RAM.

There are also MacBook Pros available at our other locations, but quantities are limited. Please contact our registrar (571-346-7544) to reserve a machine for an upcoming class.

Links

For additional information on iPhone programming, please visit:
iPhone Dev Center: http://developer.apple.com/iphone/

Also, please feel free to download our free iPhone development tutorials. These are Xcode projects that will take you step-by-step through detailed examples that cover the basics, including working with UIView and UIViewController; Core Animation and custom drawing; working with subclasses of UIControl such as UITextField and UIButton; working with UITableView and UITableViewController, including making a UITableView editable, and creating editable instances of UITableViewCell; and managing navigation with UINavigationController.

Outline

  • Xcode: Use Xcode to edit, build, and debug your iPhone applications and to manage project resources.
  • Objective-C: Get hands-on familiarity with the iPhone's Objective-C programming language and Foundation framework.
  • Interface Builder: Use this world-class GUI tool to design your iPhone app's UI and connect it to your code—and learn the real meaning behind File's Owner, First Responder, and other mysteries.
  • Cocoa Touch Design Patterns: Discover how Apple leverages Model-View-Controller and other design patterns in the iPhone's UIKit framework.
  • Table Views: Work with the iPhone SDK's UITableView and UITableViewController; implement data source and delegate methods to present data and interact with the user.
  • Navigation: Learn to use the iPhone's navigation controller, tab bar controller, and other UIKit components, as well as iPad-specific controls such as popovers.
  • Handle Touch Events: Manage standard iPhone and iPad UI controls and custom components correctly in response to user input.
  • Custom Drawing: Learn to use Core Graphics and Core Animation to customize iPhone and iPad UI components, display and manipulate images, and provide rich animation for graphical elements.
  • Persist iPhone/iPad Application Data and UI State: Learn a variety of efficient techniques for saving info to various types of data stores.
  • Memory Management: Learn to use retain counts and autorelease pools to manage your iPhone app's memory, while avoiding common pitfalls.
  • System Events: Work with the iPhone's built-in accelerometers, GPS, and other system resources.
  • Integrate with Core Services: Integrate your iPhone or iPad app with Address Book, Maps, Safari, Mail, and other standard applications.
  • Design for Modularity: Leverage the iPhone/iPad's dynamic loading capability to reduce complexity, improve performance, and dramatically simplify maintenance.
  • iPhone Performance Monitoring and Debugging: Use Apple's Instruments utility and the GNU debugger (gdb) to find and fix problems and eliminate hot spots and memory leaks.