Objective-C Training for iOS Development

This Objective-C training class teaches the fundamentals of programming in Objective-C, the language used to develop iPhone and iPad applications. This course covers Xcode, the integrated development environment used to build Objective-C applications. Primitive and reference variables are covered as well as arithmetic operators, conditional processing, looping, and functions. The object-oriented nature of the language is presented as well as the Foundation framework. An introduction to the Cocoa framework and a discussion of a basic user interface for mobile devices are included. We will use Xcode built-in iPhone and iPad simulators for the exercises and demonstrations in the course. In this way, students get a feel for how iPhone and iPad application development works and will be ready to move on to our iOS Application Development class.

Goals

Learn how to use Xcode to develop Objective-C programs.

Learn how to define primitive and reference variables.

Understand the use of arithmetic operators.

Know how to write conditional and looping statements.

Learn how to write and call a function.

Understand the object-oriented features of Objective-C.

Learn how to create objects and methods.

Understand important classes in the Foundation framework.

Learn how to build a basic user interface using the Cocoa framework

Outline

Objective-C Overview

The Xcode IDE

Projects

Hello World Application

Objective-C

Brief History

Role in Mobile Device Applications

Variables

Numeric Variables

Numeric Representations

Integers

Unsigned Integers

Floating Point

Constants

Comments

Nonnumeric Variables

char

boolean

Variable Scope

Arithmetic

Arithmetic Operators

Addition and Subtraction

Multiplication, Division, and Modulus

Shorthand Notation

Typecasting

Math Library Functions

pow

arc4random

Conditional Logic and Looping

Conditional Statements

Basic if Statement

if else Statement

if else if Statement

switch Statement

The Ternary Operator

Looping Statements

while Statement

dowhile Statement

for Statement

Functions

Purpose of a Function

Declaration

Header

Body

Calling a Function

Passing Parameters by Value

Passing Parameters by Reference

Functions vs. Methods

Object-oriented Programming According to Objective-C

Object-Oriented Programming (OOP)

How Objective-C Implements OOP

Encapsulation of Member Variables

The class definition: Interface

The Class Interface and @property

Method vs. Function Syntax

Static Variables and Class Methods

The Class Implementation and @synthesize\

Creating an Object from a Class

Sending Messages to Objects

The Role of Methods

Visibility of Variables

The Constants nil and NULL

Reference Variables

The * and & Operators

Inheritance

Purpose of Inheritance

Implementing Inheritance

The Root Class

Creating and Processing the Subclass

NSObject Class

Memory Acquisition

alloc

init

Method Override

Where's Abstraction?

Polymorphism

The Purpose of Polymorphism

Polymorphism in Objective-C

Placing Objects in Collections

Using NSMutableArray

Runtime Identification of Objects

Arrays

The "Classic" C Array

Defining the Array

Processing the Array

Foundation Framework Arrays

NSArray

NSMutableArray

Foundation Framework

The Foundation Framework

Strings

Date/Time

Numbers

Collections

NSString

Replacing char*

Initialization

NSString Methods

NSNumber and NSNumberFormatter

Replacing int, float, and more

Initialization

NSUInteger and NSInteger

Formatting

NSDate and NSDateFormatter

NSDate

NSDateFormatter

Collections

Arrays

NSArray

NSMutableArray

Sets

NSSet

NSMutableSet

How Duplicate Elements Are Detected: isEqual and hash

Dictionaries

NSDictionary

NSMutableDictionary

Memory Considerations

Memory Management in Objective-C

Manual Retain-Release

Automatic Reference Counting

Garbage Collection

Strong and Weak

Release and Retain

Atomic and Nonatomic

Automatic Reference Counting

Cocoa Framework

The Purpose of Cocoa

User Interfaces

What Is a User Interface?

View Controllers

Using Interface Builder to Create User Interfaces

The XIB File

IBAction and IBOutlet

Drag and Drop with the Connections Inspector

Creating a Simple Mobile Application

Creating the Project

Adding Properties and Synthesized Methods

Building the User Interface

Testing the Application

Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this Mobile Apps class:

Basic computer experience.

Experience in the following would be useful for this Mobile Apps class:

Some experience in a programming language.

Broader exposure than HTML, CSS, etc. is strongly suggested.

If unsure about your experience and prerequisites, contact Webucator customer service who can put you in touch with an Objective-C instructor.

Training for your Team

What people say about our training

The online instructor led course was very well organized. The instructor was knowledgeable, the exercises were clear, concise, and were very relevant to the concepts being covered. I was very impressed with the course. It gave a very good introduction to Objective C.

Sheri Green

Fox Networks Group

To really understand the fundamentals of Objective-C, you need a course like this.

Seth Burden

North Carolina Farm Bureau Mutual Ins.

Great overall introduction to iOS and Objective-C programming!

Steve Veloff

St. Petersburg College

I am extremely pleased with the training provided by Webucator. The instructor was very knowledgeable and able to answer all my questions. He knew the software he was teaching, which is not always the case with online courses! He also provided lots of tips and avenues for my further research. Thanks very much!