Introduction to Objective-C Programming for iOS

 

 

 

Introduction to Objective-C Programming for iOS Training Class Summary

This course is designed for novice programmers as well as for programmers new to the Objective-C programming language. Topics covered will include both the general theoretical concepts of programming - with a focus on Object Oriented programming - as well as the specifics of Objective-C's code syntax. An in-depth exploration of Xcode - Apple's IDE for developing iOS Apps - will also be an integral part of this class as students use it to write many programs that demonstrate the concepts being taught. Students will gain a solid foundation and understanding of how Objective-C works, a strong familiarity of working with Xcode, and be ready to start learning iPhone and iPad App development.

Audience: Beginner programmers or programmers new to Objective-C language.

Prerequisites: Some programming experience is helpful but is not mandatory.

Class Length: 3 days

Introduction to Objective-C Programming for iOS Training Class Objectives
  • Write Objective-C programs with variables, primitives, conditionals, loops, and using other building blocks of programming.
  • Work with Collection Objects such as NSArrays, NSDictionaries, and NSSets, and use of Fast Enumeration.
  • Create and use custom user-defined Classes.
  • Apply Objective-C's Object-Oriented messaging, Inheritance, Polymorphism, Dynamic Binding and Dynamic Typing.
  • Explore the Foundation Framework’s classes and data structures.
  • Write programs that interact with files and the file system
Introduction to Objective-C Programming for iOS Training Class Detailed Outline
  1. Working with Variables and Data Types
    • Writing and Running basic programs
    • Working with the Console
    • Integers
    • Floats
    • Doubles
    • Booleans
    • Chars
    • NSString
  2. Arithmetics and Expressions
    • Addition, Subtraction, Multiplication, Division, Modulus
    • Precedence of Operators
    • Type conversions through mixed operations
    • Type-casting
    • Assignment and Comparison operators
    • Intro to Math Library functions
  3. Loops – Automatic Repetition
    • Addition, Subtraction, Multiplication, Division, Modulus
    • Precedence of Operators
    • Type conversions through mixed operations
    • Type-casting
    • Assignment and Comparison operators
    • Intro to Math Library functions
  4. Conditionals & Decision Making
    • The If statement
    • The If-Else statement
    • The If-Else-If statement
    • Nested Conditionals
    • Compound Relationals
    • Boolean Variables
    • The Switch Statement
  5. Custom Classes
    • Creating custom Classes - using @interface
    • Implementing custom classes - using @implementation
    • Creating Instance Variables
    • Creating Instance Methods
    • Understanding Getters & Setters
    • Instantiating Objects from Classes
    • Executing and Messaging Methods onto Objects
    • Using Self
    • Declaring Properties and synthesizing Accessor methods
  6. Understanding Inheritance
    • Root Class, Super-class, Subclass
    • Sharing Variables and Methods through Inheritance
    • Locating Methods in Classes
    • Class Extention through Inheritance
    • Overriding Methods
    • Using Super
    • Class and Object Ownership
    • Memory Allocation
    • Variable Scope
  7. Polymorphism, Dynamic Binding & Typing
    • Reusing method names in different classes
    • Runtime Dynamic Typing and Binding
    • Runtime Querying of Objects and Classes
    • The ID type
  8. The Foundation Framework
    • Number Objects
    • String Objects
    • Array Objects
    • Dictionary Objects
    • Set Objects
    • Number Objects
  9. Working with the File System
    • The NSFileManager
    • Working with Directories
    • Reading, writing and copying files.
    • Working with NSData
    • File-Paths and NSURL
  10. Introduction to Cocoa Touch & iPhone App Development
    • Creating the first iPhone App: "Hello World"
    • Working with Interface Builder
    • Creating GUI's
    • Using ViewControllers
    • Overview of the View Lifecycle
    • About IBOutlets and IBActions
    • Creating the second iPhone App: going interactive