Training » iOS Courses » Intro for IT Professionals » Objective-C for IT Professionals

Objective-C for IT Professionals

Object-oriented, reoriented.

If you’re already familiar with object-oriented programming, Objective-C can be a little…well, disorienting. It’s a compiled language, but it supports dynamic typing. Oh, and static typing too. And classes that are also objects. And pointers. And…well, you get the idea. It’s a little different—no, make that a lot different—from other, object-oriented languages.

Which is why this course will be a great fit for you if background is in another object-oriented programming language, or for that matter a procedural language like C. Because even if you’re already comfortable with pointers, structures, and the like, you’ll need a really solid grasp of how runtime message dispatching, dynamic typing, and dynamic binding (not to mention categories, protocols, reference-counted memory, declared properties, blocks, and so forth) work in Objective-C.

Updated for iOS 8

Get ready for prime-time.

In fact, think of this as a hands-on, white-knuckle, crash course for programming professionals, where in two intense days you’ll learn the essentials of Objective-C programming. By the end of that brief period you’ll know enough of the language itself, the runtime system, and the Foundation framework, to be ready to dive right into learning iOS or Mac OS X development.


2 days.


Get the rock-solid foundation in Objective-C you’ll need to succeed in Cocoa or Cocoa touch development. This fast-paced, hands-on, immersive course will get you ready for prime time—quickly.

Please note though: you’ll need to have a solid programming background to take this class.

The 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 will help you 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:

  • Declare and implement classes, properties, class methods, instance methods, protocols, and categories.
  • Make proper use of dynamic typing, dynamic type checking, and dynamic message dispatching.
  • Manage reference-counted memory.
  • Work with synthesized methods and instance variables.
  • Use Foundation value classes, collection classes, and fast enumeration.
  • Use Foundation utility classes to sort and filter collections, and to format and parse numbers and dates.
  • Implement key protocols such as NSCoding and NSCopying
  • Marshall data into and out of object graphs with NSKeyValueCoding.
  • Persist object graphs to the file system.


Take this course if you’re:

  • A professional developer with experience in compiled languages such as C, Java, C#, or C++, or a modern dynamic language such as Ruby or Python.

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


  • 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.

  • 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.


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.


For additional information on iOS programming, please visit Apple's iOS Dev Center:

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.