iOS Development for IT Professionals

Ultra-fast pace. Mind-blowing depth.

Get up to speed for your upcoming iPhone or iPad project in record time. Learn to use Xcode 5 and iOS SDK frameworks such as Foundation, UIKit, and Core Animation to develop sophisticated, full-featured iOS 5 iPhone and iPad applications ready for the enterprise. This course will enable you to develop apps that incorporate many of the powerful features of Objective-C and Cocoa touch.

Pros only.

If you work regularly with a compiled language such as Java, C#, or C++, or an advanced scripting language such as Ruby, or Python, this course is for you. Our Pro Series courses are organized similarly to courses in the Beginner Series, but offer broader coverage and greater depth.

You’ll learn the essentials of iPhone and iPad development: the tools, frameworks, concepts, and best practices, reinforced by tons of of hands-on practice to strengthen your understanding.


Updated for iOS 7

Duration

5 days.

Objectives

Get the solid foundation you need for that first iPhone or iPad project. Or backfill gaps in your current level of understanding and knowledge if you’ve previously worked on one or two iOS apps. Either way, this course takes a no-training-wheels approach to get you ready for prime time—quickly.

You’ll need to have a reasonable level of proficiency in Objective-C to take this class, so consider taking the companion course Objective-C for IT Professionals if you’re not already up to speed.

This course follows a bottom-up training methodology that allows you to learn from scratch, step-by-step. Not only does this make learning easier, but it also helps build a more solid foundation. We combine that approach with a smaller class size to ensure you can get the right amount of individualized attention. So you’ll have plenty of opportunity to have questions answered, and won’t have to worry about getting stuck during exercises.

By the end of the class you’ll know how to:

  • Leverage NSKeyValueCoding and other powerful Foundation APIs.
  • Work with Xcode 5 and its newly integrated Interface Builder features.
  • Write custom drawing and animation code.
  • Work with touch input.
  • Interact with standard controls such as text fields, buttons, and sliders.
  • Create and populate table views.
  • Customize table view cells to support editing of values.
  • Manage navigation between views, and other view transitions.
  • Manage navigation bar and toolbar controls.
  • Add, remove, and reorder table view rows, and reflect changes in underlying data.
  • Persist iPhone and iPad application state and user data.
  • Interact with web services.
  • Present map views that make use of location data.

Audience

Take this course if you’re:

  • A professional developer experienced in compiled, object-oriented languages such as C#, Java, or C++, or dynamic, object-oriented languages such as Ruby or Python.
  • Already proficient in Objective-C, or have previously taken Objective-C for IT Professionals.

For more insight on which courses might suit you best, please read our guide to iPhone and iPad training.

Outline

  • Using Xcode 5. Add the coolest features of Xcode 5 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 a more comprehensive introduction to Objective-C, our companion course, Objective-C for IT Professionals, 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.
  • Nib Files and Storyboards. 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 and Collection Views. Table views (instances of UITableView) and Collection Views (instances of UICollectionView) are used to present scrollable lists of items in iOS apps. Learn how to populate and manage their contents, as well as how to manage user interactions 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.

Instructors

Learn from seasoned developers and teachers.

Need a machine? Reserve a 13” MacBook Pro or MacBook Air 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 Apple's 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.