Objective-C for Experienced Programmers

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.

Location

Public Classes: Delivered live online via WebEx and guaranteed to run . Join from anywhere!

Private Classes: Delivered at your offices , or any other location of your choice.

Goals
  1. Learn the underlying programming language for building iPhone and iPad applications.
  2. Learn the basics of the Objective-C language.
  3. Understand the memory management model for Objective-C and options for the developer.
  4. Learn about the Foundation classes for data manipulation and their use in Objective-C programming.
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 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:

  • Object-oriented programming experience.

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

  • c++ or C# experience.
Follow-on Courses

Training for your Team

Length: 3 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

What people say about our training

The instructor was great. He covered the material well, provided assistance when users had issues and also answered hypothetical questions
Jill Rice
P2 Energy Solutions
This training was clear, step by step, easy to manage and understand. Instructor was very good about going back through steps to help me catch up when needed. The materials given were the best I have ever had!!! I feel very comfortable with going back on the job and using what I have learned.
Shanna Zanolini
VCBH QI
The instructor did a great job taking the time to make sure all my questions were answered and was patient with me when I had him repeat things and guide me along the way.
Thomas Haney
Advanced Insurance
This class provided a terrific overview of MS Project. The instructor had a wealth of experience. I would definitely recommend this instructor, this class, and Webucator for anyone looking to learn more about their Project toolkit.
Yreka Sisson
Jack Henry & Associates

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing

63,451

Students who have taken Instructor-led Training

11,895

Organizations who trust Webucator for their Instructor-led training needs

100%

Satisfaction guarantee and retake option

9.63

Students rated our Objective-C for Experienced Programmers trainers 9.63 out of 10 based on 3 reviews

Contact Us or call 1-877-932-8228