Objective-C Programming

A rapid introduction to the basics of ANSI C and Objective-C programming. This course is designed get you up to speed on the language features and Foundation framework APIs you'll need in everyday Cocoa development. Provides deep insight into Objective-C's dynamic runtime system, along with some of the more challenging aspects of C and Objective-C programming.

Description

Objective-C is a powerful, dynamic, C-based object-oriented language. It's the language in which nearly all of Apple's iOS frameworks are written. Objective-C's dynamism was instrumental in the development of the Cocoa user interface, which was originally developed as part of the NeXTSTEP operating system.

A solid understanding of Objective-C can be instrumental to understanding many critical aspects of iOS development. Our fast-paced, 2-day Objective-C Programming class will help you gain meaningful insight, along with hands-on facility.

Course Overview

This fast-paced, two-day intensive will get you off to a quick start coding in Objective-C. There's plenty of lab time to allow you to learn by doing. And our exercises are designed to reinforce key concepts in a way that will help you gain proficiency fast. Between lecture sessions and hands-on labs you'll get a first-hand introduction to fundamentals of the ANSI C programming language and object-oriented programming with Objective-C classes, objects, methods, instance variables, messages, and more.

  • Learn the fundamentals of ANSI C programming and the standard C libraries.
  • Get solid on C functions, pointers, and data structures.
  • Learn to create and use Objective-C objects, classes, and methods.
  • Understand dynamic binding, messaging, and the Objective-C runtime.
  • Learn how and where to use Objective-C categories and protocols.
  • Gain plenty of hands-on experience with Foundation classes and APIs.

Course Outline

Xcode – Learn to use Xcode to edit, build, and debug your projects. We'll also share loads of amazing tricks and tips.

C Fundamentals – Master all the basics: variables, data types, expressions, operators, statements, functions, looping and branching, and more.

The C Compiler – Understand the phases of compilation, from preprocessing through linking and loading.

The C Preprocessor – Harness all kinds of preprocessor magic — from simple header file imports, through macros and conditional compilation.

Addresses and Pointers – Get a solid handle on single- and multi-dimensional arrays, pointer arithmetic, and pointers as arguments to functions.

Dynamic Memory Allocation – Understand how memory allocation and deallocation work at the C library API level.

Classes and Objects – Learn the basics of declaring Objective-C classes, writing method implementations, and allocating and initializing instances.

Message Expressions – Message expression syntax can be a little intimidating at first; we’ll teach you techniques that will help you get comfortable quickly.

Message Dispatching – Gain insight into how the Objective-C runtime system dynamically dispatches messages, and learn powerful features such as message forwarding and delayed performs.

Value Classes – Learn to work with Foundation classes that act as wrappers for numbers, strings, and other low-level data types.

Collections – Learn to work with mutable and immutable arrays, dictionaries, and other collection types, as well as helper objects such as predicates and sort orderings.

Key-Value Coding – KVC is a critically important mechanism that allows properties to be accessed via introspection. Learn how it can help automate tasks such as data marshaling (e.g., between JSON and model objects).

Protocols – Learn to declare protocols with required and optional methods, and get familiar with commonly used framework protocols.

Categories – Learn to enhance existing classes by adding custom methods. We’ll also show you how to use categories to streamline your codebase.

Managing Memory – Gain a concrete understanding of how the Automatic Reference Counting (ARC) system manages memory behind the scenes.

Declared Properties – Learn how to work with streamlined property declarations and auto-synthesized accessor methods.

Unit Testing – Get up to speed on unit testing with the XCTest framework, using Xcode's built-in tooling.

 

Audience

Professional developers who are interested in learning to develop Cocoa touch apps for iOS.

Prerequisites

Experience with a compiled language such as C# or Java, or a dynamic language such as Ruby or Python.

Similar courses

Take two great iOS programming courses at a reduced price. This comprehensive course combines Objective-C Programming — a rapid introduction that will get you up to speed on Objective-C quickly — and iOS Development in Objective-C, a thorough introduction to developing apps for the iOS platform. Includes a discussion on the role of Swift in the future of iOS development.

More Information

A rapid introduction to the fundamentals of iOS development in Objective-C. Helps you gain hands-on proficiency with UIKit, Foundation, and other Cocoa touch frameworks along with practical knowledge of Xcode and Interface Builder. Includes a discussion on the role of Swift.

More Information