Course Summary
Learn iPhone and iPad development from the ground up in this intensive, 5-day training course led by an experienced iPhone developer and trainer.
iPhone and iPad Development Bundle
A great pair of courses for a pair of great devices.
Now you can take these two great iPhone/iPad programming courses at a greatly reduced price! This course bundle combines Objective C for Beginners—a basic introduction that will get you started programming in Objective-C—and Introduction to iPhone and iPad Development, a comprehensive introduction to creating iPhone and iPad apps using the iPhone SDK.
Develop your first iPhone and iPad apps right in our class.
Learn to use Xcode, Interface Builder, and the UIKit framework to develop iPhone and iPad applications that take full advantage of powerful and sophisticated features of these two amazing platforms.
- Learn the basics of programming in C and Objective-C
- Gain hands-on familiarity with the iPhone's Cocoa touch development environment, including Xcode and Interface Builder
- Start writing iPhone and iPad apps that make full use of the iPhone SDK
More...
 
Duration
7 days.
2 course(s)
Objectives
Immerse yourself for a solid week in the iPhone SDK. First, spend two days learning the basics of Objective-C and the Foundation framework. Take a day off, and then dive right into Cocoa Touch for the iPhone. For five solid days, we'll explore the iPhone SDK in depth, writing a number of working iPhone apps that demonstrate a wide range of capabilities.
Audience
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, 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
Objective-C for Beginners (2 days)
- ANSI C: Gain hands-on familiarity with the fundamentals of the ANSI C programming language and the standard C libraries.
- Xcode: Use Xcode to edit, build, and debug your Objective-C applications, and to manage project resources.
- Objective-C Fundamentals: Learn how to define classes and methods, allocate and deallocate instances, and send messages to objects at runtime.
- Foundation Library: Learn to use essential C functions and Objective-C utility classes for working with numbers, dates, arrays, dictionaries, files and directories, and much more.
- Objective-C 2.0: Learn to use 2.0 features such as garbage collection, dynamic properties, and fast enumeration.
- Memory Management: Learn how to manage memory with retain counts and autorelease pools, and how to avoid memory management pitfalls.
- Advanced Features: Learn to use protocols, categories, key-value coding, invocation forwarding and other advanced features of Objective-C.
- The Objective-C Runtime System: Get an in-depth understanding of the runtime system and how it supports dynamic typing, dynamic binding, messaging, and message forwarding.
- Archives and Serialization: Learn how to serialize and deserialize objects to and from XML and binary formats.
- Working with the Debugger: Learn to use the GNU debugger (gdb) interactively to help track down and and fix bugs.
Introduction to iPhone and iPad Development (5 days)
- 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.