Objective-C for Experienced Programmers

Course duration

  • 3 days

Course Benefits

  • Learn the underlying programming language for building iPhone and iPad applications.
  • Learn the basics of the Objective-C language.
  • Understand the memory management model for Objective-C and options for the developer.
  • Learn about the Foundation classes for data manipulation and their use in Objective-C programming.

Course Outline

  1. Objective-C Overview
    1. The Xcode IDE
      1. Projects
      2. Hello World Application
    2. Objective-C
      1. Language Features
      2. Brief History
      3. Role in Mobile Device Applications
  2. Variables
    1. Numeric Variables
      1. Numeric Representations
      2. Integers
      3. Floating Point
      4. Comments
    2. Nonnumeric Variables
      1. char
      2. boolean
    3. Reference Variables
    4. The * and & Operators
    5. Variable Scope
  3. Arithmetic
    1. Arithmetic Operators
      1. Addition and Subtraction
      2. Multiplication, Division, and Modulus
      3. Shorthand Notation
    2. Type Casting
    3. Math Library Functions
      1. pow
      2. random
  4. Conditional Logic and Looping
    1. Conditional Statements
      1. Basic if Statement
      2. if else Statement
      3. switch Statement
      4. The Ternary Operator
    2. Looping Statements
      1. while Statement
      2. do...while Statement
      3. for Statement
  5. Functions
    1. Purpose of a Function
    2. Declaration
      1. Header
      2. Body
    3. Calling a Function
      1. Passing Parameters by Value
      2. Passing Parameters by Reference
    4. Functions vs. Methods
  6. Object-oriented Programming According to Objective-C
    1. Object-oriented Programming (OOP)
    2. How Objective-C Implements OOP
    3. Encapsulation of Member Variables
      1. The Class Definition: Interface
      2. The Class Interface and @property
      3. Method vs. Function Syntax
      4. The Class Implementation and @synthesize
    4. Creating an Object from a Class
      1. Sending Messages to Objects
      2. The Role of Methods
    5. Visibility of Variables
  7. Inheritance
    1. Purpose of Inheritance
    2. Implementing Inheritance
      1. The Root Super Class
      2. Creating and Processing the Subclass
    3. NSObject Class
    4. Memory Acquisition
      1. alloc
      2. init
    5. Method Override
    6. Where's Abstraction?
  8. Polymorphism
    1. The Purpose of Polymorphism
    2. Polymorphism in Objective-C
    3. Placing Objects in Collections
      1. Using NSMutableArray
    4. Runtime Identification of Objects
  9. Arrays
    1. The "Classic" C Array
      1. Defining the Array
      2. Processing the Array
    2. Foundation Framework Arrays
      1. NSArray
      2. NSMutableArray
  10. Foundation Framework
    1. The Foundation Framework
      1. Strings
      2. Date/Time
      3. Numbers
      4. Collections
    2. NSString
      1. Replacing char*
      2. Initialization
      3. NSString Methods
    3. NSNumber and NSNumberFormatter
      1. Replacing int, float, and more
      2. Initialization
      3. NSUInteger and NSInteger
      4. Formatting
    4. NSDate and NSDateFormatter
      1. NSDate
      2. NSDateFormatter
  11. Memory Considerations
    1. Memory Management in Objective-C
      1. Manual Retain-release
      2. Automatic Reference Counting
      3. Garbage Collection
    2. Strong and Weak
    3. Release and Retain
    4. Atomic and Nonatomic
    5. Automatic Reference Counting

Class Materials

Each student will receive a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this Objective-C class:

  • Object-oriented programming experience.

Experience in the following would be useful for this Objective-C class:

  • c++ or C# experience.
Follow-on Courses
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.