Course Summary
iOS 5 Pro Developer Bundle
A great pair of courses for a pair of great devices.
Now you can take these two great Pro Series programming courses at a greatly reduced price! This course bundle combines Objective-C for Pro Developers, a fast-paced introduction to the Objective-C language for those experienced with object-oriented languages, and iOS 5 Development Training for Pro Developers, a comprehensive introduction to creating iPhone and iPad apps using the iOS SDK.
Develop your first iPhone and iPad apps right in our class.
Learn to use Xcode 4 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 and more of programming Objective-C
- Gain hands-on familiarity with the iPhone's Cocoa touch development environment, including Xcode and UIKit
- Start writing iPhone and iPad apps that make full use of the iOS SDK
More...
Duration
7 days.
2 course(s)
Objectives
Immerse yourself for a solid week in the iOS 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 iOS SDK in depth, writing a number of working iPhone/iPad apps that demonstrate a wide range of capabilities.
Audience
Additional Notes
Learn from seasoned developers and teachers.
- Jonathan Lehr. Jonathan has over 20 years of experience developing apps in Objective-C and Java—including iOS apps for Cisco, the NIH and other About Objects customers—and has personally trained hundreds of iPhone and iPad developers.
- Matt Bezark. Matt is an Apple certified trainer with more than a decade’s experience developing Objective-C apps for the enterprise, and he previously taught Objective-C and Cocoa as a contractor at Apple.
- Chris Cordrey. Chris mastered Objective-C and Cocoa as an engineer at NeXT, Inc., and has over a decade’s experience writing mission-critical Objective-C software for major financial companies.
Need a machine? Reserve a 13” MacBook Pro Today!
If you’re unable to bring your own MacBook Air or MacBook Pro to class, we have a limited inventory of loaner machines. Please call ahead (main: 571-346-7544) to check on availability.
Links
For additional information on iOS programming, please visit:
iOS Dev Center: http://developer.apple.com/ios/
Also, please feel free to download our free iOS 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 Pro Developers (2 days)
Using Xcode 4. Add the coolest features of Xcode 4 to your development workflow, including the newly built-in Interface Builder, the new Version Editor—which works seamlessly with version control systems such as Git and Subversion—and the Clang Static Analyzer.
Classes, Objects, and Methods. Learn the basics of declaring Objective-C classes, implementing their methods, and allocating and initializing instances.
Message Expressions. Objective-C message expression syntax always seems to throw even the most experienced developers the first time around. We’ll show you an easy technique to avoid confusion when reading and writing message expressions.
Message Dispatching. Get a solid understanding of the Objective-C runtime system’s role in dynamic message dispatching, and learn how to leverage Foundation facilities to take advantage of delayed performs, message forwarding, and other powerful techniques.
Value Classes. Learn how to work with Foundation value classes for scalar values, strings, and binary data and how to use utility classes such as NSDateFormatter to convert between objects and their formatted string representations.
Collections. Learn to work with mutable and immutable arrays, dictionaries, and other collection types. Discover how Foundation collections can easily store and retrieve their values on the filesystem, and learn to use utility classes to assist with sorting, filtering, and other common operations.
Error Handling. Apple’s approach to error handling may seem surprising—they discourage using thrown exceptions, and instead suggest using instances of NSError (a simple value class, unrelated to NSException) in most cases. We’ll explain why, and show you how to use the proper techniques.
Managing Memory. Learn the best techniques for working with Objective-C’s reference counting system to manage your program’s memory, including easy-to-follow steps that can help you avoid common pitfalls. And get an overview of how upcoming changes to the LLVM compiler technology could provide additional automation to reduce the amount of memory management-aware code you need to write.
Declared Properties. Understand how to use Objective-C 2.0 property declarations to streamline accessor method declarations and provide additional information, such as memory management semantics, and how to instruct the compiler to synthesize accessor method implementations, and even their underlying instance variables.
Protocols. Get a solid understanding of required and optional protocols, and how Apple uses them to support important Cocoa touch design patterns, such as Delegation. Learn some of the more commonly used protocols in Foundation, and some potential pitfalls—for example, why it’s not always safe to send an object a copy message.
Categories. Learn how to add custom methods to existing classes to extend their behavior, as well as how you can use categories to streamline your codebase.
iOS 5 Development Training for Pro Developers, (5 days)
- Using Xcode 4. Add the coolest features of Xcode 4 to your development workflow, including the newly built-in Interface Builder, the new Version Editor—which works seamlessly with version control systems such as Git and Subversion—and the Clang Static Analyzer.
- Objective-C Essentials. Get a quick review of the basics of message expressions, categories, and protocols, as well as commonly used features of the Foundation framework—value classes, collections, and the NSKeyValueCoding informal protocol. (Note: if you need an introduction to Objective-C, our companion course, Objective-C for Pro Developers, can get you up to speed quickly.)
- Managing Memory. Learn the best techniques for working with Objective-C’s reference counting system to manage your program’s memory, including easy-to-follow steps that can help you avoid common pitfalls. And get an overview of how upcoming changes to the LLVM compiler technology could provide additional automation to reduce the amount of memory management-aware code you need to write.
- Understanding Cocoa touch Design Patterns. Cocoa touch is the programming framework for iOS user interface development. You’ll get important insights into the framework’s use of key design patterns such as Model-View-Controller, Delegation, View Hierarchy, Responder Chain, and Target-Action.
- Handling Touch Events. Learn simple ways to configure standard iPhone and iPad user interface controls and custom components to automatically trigger your app’s custom behavior, as well as how and when to implement your own custom event methods.
- Drawing and Animation. Learn to use Core Graphics and Core Animation APIs to customize iOS UI components, display and manipulate bitmaps, vectors, and images, and provide rich animation of graphical elements.
- View Controllers. Discover how to use UIViewController and key subclasses such as UINavigationController, UIPopoverController, and UITabBarController to load and manage complex views, collaborate with other view controllers, and animate view transitions.
- Editing Nib Files. Learn how to visually create your app’s user interface components and connect them to your code, while gaining insight into how Interface Builder performs its magic under the covers, and how it can streamline development, ease maintenance, and help give your app a professional and polished appearance.
- Table Views. Table views (instances of UITableView) are used to present scrollable lists of items in iOS apps. Learn how to populate their rows (with instances of UITableViewCell, or custom subclasses of UITableViewCell we’ll show you how to create), and how to manage user interactions to provide custom behaviors such as drill-down and editing.
- Navigation. Learn to use instances of UINavigationController to manage navigation between two or more view controllers. You’ll learn how to manage important but subtle details, such as presenting navigation bar and toolbar buttons, and implementing the right callback methods to allow you to keep the state of your controllers in sync throughout a full sequence of navigations.
- Location Services. Learn to use MapKit and Core Location to easily provide user-navigable maps, complete with placemarks.
- Persistence. There are many ways to store user and app data on iOS, but there are some important constraints; for example the file system is opaque outside of your app’s ‘sandbox.’ We’ll walk you through all the popular mechanisms, from NSUserDefaults and the simplest types of file-based persistence, all the way through SQLite, Core Data (the iOS object-relational mapping framework), and web services.
- Design for Modularity. Leverage built-in facilities in Cocoa touch to dynamically load UI components from an iPhone/iPad app’s bundle directory to reduce complexity, improve performance, and dramatically simplify maintenance.
- Profiling and Debugging. Learn how to use the Instruments app to profile performance and identify hot spots, plus great techniques for using Xcode’s debugger to quickly isolate coding errors.
