I loved the instructor. She was an expert and a fantastic teacher. She knows exactly how to convey the information... More Testimonials »

Objective-C for Experienced Programmers

Delivery Options

Class Description

Class Overview

Objective-C is the language for developing iPhone and iPad applications. For people with prior object-oriented programming experience, this accelerated class teaches the syntax of the Objective-C language and the basics of the foundation classes. This includes user-defined objects, an in-depth review of the foundation classes for numbers, strings, arrays, dictionaries and dates, and an overview of the Objective-C memory management model. At the end of this programming language overview, students will understand the Objective-C language concepts required for building iPhone and iPad applications.

Class Goals

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

Class 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. Collections
    1. Arrays
      1. NSArray
      2. NSMutableArray
    2. Sets
      1. NSSet
      2. NSMutableSet
      3. How Duplicate Elements are Detected: isEqual and hash
    3. Dictionaries
      1. NSDictionary
      2. NSMutableDictionary
  12. 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
  13. Cocoa Framework
    1. The Purpose of Cocoa
    2. User Interfaces
      1. What Is a User Interface?
      2. View Controllers
    3. Using Interface Builder to Create User Interfaces
      1. The XIB File
      2. IBAction and IBOutlet
      3. D
      4. rag and Drop with the Connections Inspector
    4. Creating a Simple Mobile Application
      1. Creating the Project
      2. Adding Properties and Synthesized Methods
      3. Building the User Interface
      4. 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 areas is required:

  • Object-oriented programming experience.

Experience in the following areas would be beneficial:

  • c++ or C# experience.

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.

Potential Follow-on Classes

Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Locations
Compare Us
Watch 3-minute Demo Video
of Live Online Training:
Learn the benefits of online training with Webucator
Webucator is a Registered Education Provider (R.E.P.) approved by PMI to issue professional development units (PDUs) for our training courses.
© Webucator, Inc. All rights reserved. | Toll Free: 1-877-932-8228 | From outside the USA: 315-849-2724| Fax: 315-849-2723