Speak to our team now +44 (0)1737 821590

Objective-C programming

A 5 day
training course

Objective-C programming training course description

A hands on introduction that will allow you to master Objective-C and start using it to write powerful native applications for even the newest Macs and iOS devices! Using The step-by-step approach, will let you get comfortable with Objective-C’s unique capabilities and Apple’s Xcode 5 development environment. Make the most of Objective-C objects and messaging. Work effectively with design patterns, collections, blocks, foundation classes, threading, Git and a whole lot more. Every session builds on what you’ve already learned, giving a rock-solid foundation for real-world success!

Key outcomes from this course

By the end of the course delegates will be able to:
  • Use Xcode 5.
  • Declare classes, instance variables, properties, methods, and actions.
  • Use arrays, dictionaries, and sets.
  • Expand and extend classes with protocols, delegates, categories, and extensions.
  • Use Apple’s powerful classes and frameworks.

Objective-C programming training course details

Who will benefit:
Developers wanting to learn Objective-C
Software development fundamentals.
5 days

Training approach

This structured course uses Instructor Led Training to provide the best possible learning experience. Small class sizes ensure students benefit from our engaging and interactive style of teaching with delegates encouraged to ask questions throughout the course. Quizzes follow each major section allowing checking of learning. Hands on sessions are used throughout to allow delegates to consolidate their new skills.

Overall rating:

Customer review

"Hard concepts were explained very simply."
J. S. Framestore CFC
"Excellent presentation - very good course structure."
B. M. London Internet Exchange

Objective-C programming training course contents


The Developer Program:
Objective-C, enrolling as an Apple Developer, setting up the development environment, Xcode. Your first project.

OO programming with Objective-C:
OO projects, Frameworks, classes and instances, encapsulation, accessors, Inheritance.

OO features in Objective-C:
Messages, methods, working with id, nesting messages, method signatures and parameters. allocating and initializing objects. Using Xcode: Xcode, source code control, git and Xcode, Using a Remote Repository.

Compiler Directives:
Projects, Compiler Directives, Prefix headers, main.m, .h files.


Messaging in a Testbed App:
Setting Up the Testbed Apps, Adding a Text Field and Connecting It to Your Code, Sending a Message to the Text Field, Reviewing the Message Syntax.

Declaring a Class in an Interface File:
Context, Creating an Instance Variable with id, What Happens When Execution Stops, dynamic binding, Creating an Instance Variable for with the Class Name and with a Superclass Name, instance variable visibility.

Properties in an Interface File:
Interface Variables vs Properties, Declared Properties, Using Attributes. Implementing Properties. @synthesize, @dynamic.

Methods in an Interface File:
Methods in a Class, class and instance methods, Method declaration, returning complex data structures from Methods.

Actions in an Interface File:
Actions, Actions in OS X and iOS, disconnecting actions.

Routing messages with selectors:
Receiver and selector objects in messages, Objective-C Runtime, SEL and @selector (), performSelector, NSInvocation, testing whether an Instance can respond to a selector.

Building on the Foundation:
The Foundation Framework, Foundation Classes, Foundation Paradigms and Policies; Mutability, class clusters, notifications.

Defining a Class in Implementation Files:
Projects, dynamic typing, creating a new App, implementing a method, expanding Classses with init Methods.

Organizing Data with Collections:
Collecting Objects, Property Lists, Runtime, comparing the Collection Classes, Creating a Collection, Objective-C Literal Syntax, Enumerating collections, Testing Membership in a Collection, Accessing an Object in a Collection.

Managing Memory and Runtime Objects:
Managing objects in memory, managing reference counts manually and with ARC, variable qualifiers, variable autorelease.


Protocols and Delegates:
Subclassing, Protocols, Delegates, Looking Deeper Inside Protocols.

Categories and Extensions:
Comparing categories and protocols, categories vs subclasses, working with categories, class extensions, informal protocols.

Associative References and Fast Enumeration:
Objective-C 2.0 Time-Saving Features, Extending Classes by Adding Instance Variables (Sort of), Using Fast Enumeration.

Revisiting Blocks, Callbacks, Blocks, Exploring Blocks in Cocoa, Cocoa Blocks and Memory.


Handling Exceptions and Errors:
Exception and Error classes: NSException, NSError, Identifying exceptions, throwing exceptions, catching exceptions.

Queues and Threading:
Getting Started with Concurrency, Introducing Queues, Dispatch Sources, Using Dispatch Queues.

Working with the Debugger:
Logging Information, Console Logs, NSLog, Smart Breakpoints, enhancing breakpoints with messages.

Using Xcode Debug Gauges for Analysis:
Debug Gauges, Monitoing CPU and memory utilization, monitoring energy, Using Instruments.


C Syntax Summary:
Data Types, Control Structures.

Apps, Packages, and Bundles:
Project Bundles, lproj Files, Asset Catalogs, plist Files, Precompiled Header Files (.pch).

Archiving and Packaging Apps for Development and Testing:

Why Choose Us

SNT trainers score an average of over 90% on the three main areas of:
  • Ability to teach
  • Technical knowledge
  • Answering questions
“Excellently presented by a very knowledgeable and enthusiastic trainer.” P.D. General Dynamics

We limit our maximum class size to 8 delegates; often we have less than this. This ensures optimal interactivity between delegates and instructor.
"Excellent course. The small class size was a great benefit…" M.B. IBM

We write our own courses; courseware does not just consist of slides and our slides are diagrams not bullet point text. A typical chapter provides clearly defined objectives with a chapter overview, slides with text underneath, a quiz at the end to check the learning of the students. Hands on exercises are at the end and are used to reinforce the theory.

See Dates & Prices for this course

To enquire about this course

To reserve this course online