Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > Mobile Computing >

WA1920 Enterprise iPhone and iPad Programming Training and Courseware

Quick Enroll

This iPhone training course teaches application development for the iOS platform. It covers iPhone, iPad and iPod Touch devices. This course starts off by building a solid foundation in Objective-C. It then goes into details of application user interface development. After that the class teaches network access, SQL database, multimedia and graphics programming. After completing this iPhone training course, a student will be able to build robust, high performing and compelling applications for iPhone and iPad.

What students will learn?

  • User friendly GUI development
  • Network communication
  • Multi-tasking and multi-threading
  • Data storage in file system and database
  • Multi-media programming
  • Detecting memory leaks and resolving them
  • Performance tuning

Audience

Developers and architects responsible for iOS application development.

Prerequisites

Prior knowledge of programming in an object oriented language such as C++, Java or C# is required. Knowledge of Objective-C is not required. Nearly a full day is spent on teaching Objective-C.

Duration

5 days

Course Outline

Chapter 1. Introduction to iOS and Xcode

  • Introduction to iOS
  • The iPhone Hardware
  • The iOS Architecture
  • The Core Services Layer
  • The Media Services Layer
  • The Cocoa Touch Layer
  • Introduction to Xcode
  • Creating an iOS Project in Xcode
  • Project Workspace
  • Adding Classes to a Project
  • Class Browsing
  • Code Completion
  • Building Code
  • Running Your Application
  • Debugging
  • Refactoring Code
  • References
  • Summary

Chapter 2. Basics of Objective-C

  • A Brief History
  • Basic Application
  • Writing Functions
  • Native Data Types
  • struct - Custom Data Types
  • Conditional Execution - if
  • Conditional Execution - switch
  • Looping
  • Pointers
  • Why We Need Pointers
  • Pointer to struct
  • Stack Memory
  • Dynamic Memory
  • Array
  • String
  • Summary

Chapter 3. Classes and Objects

  • Principles of Object Oriented Programming
  • Class and Object
  • Defining a Class
  • Defining an Interface
  • Defining the Implementation
  • Using a Class
  • Defining a Method
  • Method Overloading
  • Accessing Variables and Calling Methods
  • The self and super Keywords
  • Constructors
  • Using Constructor
  • Destructor
  • Class Level Variables
  • Class Level Methods
  • The id Data Type
  • Encapsulation Through Member Variable Protection
  • Hidden Private Methods
  • Summary

Chapter 4. Inheritance and Polymorphism

  • Introduction
  • Simple Example
  • Using Inherited Behavior
  • Extending Behavior
  • Customizing Inherited Behavior
  • Using Customized Behavior
  • Late Binding and Polymorphism
  • Dynamic Type Checking
  • Summary

Chapter 5. Category, Protocol and Properties

  • Introduction to Category
  • Category Syntax
  • Category Details
  • Introduction to Protocol
  • Syntax for Protocol
  • Example – Define a Protocol and Conform
  • Example - Implement Protocol Methods
  • Polymorphism Using Protocol
  • Testing for Protocol Conformance
  • Optional Protocol Methods
  • Encapsulation Using Property
  • Property Syntax
  • Example Property
  • Accessing Properties
  • Property Attributes
  • Selector
  • Summary

Chapter 6. Memory Management

  • Introduction
  • How Reference Count Works
  • Object Ownership Rules
  • Ownership Example
  • Beware of Object Lifetime
  • Writing Setter Methods
  • Simplify Setter Using Property
  • Alternate Allocation Methods
  • Auto Release Pool
  • Working With Auto Release Pool
  • Returning a New Object
  • Writing a Getter Method
  • Auto Release and Property Getter
  • Nested Pools
  • Surviving Auto Release Pool
  • Cocoa and Autorelease
  • Quiz
  • Summary

Chapter 7. The Foundation Framework

  • Introduction
  • NSString
  • String to Number Conversion
  • NSMutableString
  • NSNumber
  • NSMutableArray
  • NSMutableDictionary
  • Getting and Setting Data from Dictionary
  • Iteration Through the Dictionary
  • Memory Management
  • Summary

Chapter 8. iOS Application Fundamentals

  • Basics of an iOS Application
  • The Application and Its Delegate
  • Creating a Delegate Class
  • Application Lifecycle
  • Application State
  • The Suspended State
  • Application Termination
  • Window and Views
  • The Key Players
  • Create a Window Based Application
  • Key Files in the Application
  • Introduction to Interface Builder
  • Interface Builder GUI
  • The XIB File
  • A Typical XIB File
  • Adding Views to a Window
  • Setting View Attributes
  • Connections
  • Adding an Outlet Variable
  • Connecting an Outlet
  • Adding an Event Handler Method
  • Making an Event Connection
  • The Start Up Sequence
  • Testing and Debugging an Application
  • Summary

Chapter 9. Model View Controller Based Application

  • The Model View Controller (MVC) Pattern
  • Advantages of MVC
  • Model View Controller in iOS
  • Example: Navigation Controller
  • Controller Hierarchy
  • Usage Pattern Based UI Design
  • iOS Controller Types
  • Example Custom Controller
  • The UIViewController Class
  • Developing a Custom Controller Class
  • Design the Root View
  • Using a Custom Controller
  • Summary

Chapter 10. Tab Bar Controller

  • Introduction
  • The Anatomy of UITabBarController
  • The Child Controllers
  • Creating a Tab Bar Controller
  • Showing Tab Bar Controller
  • Manipulating Tabs
  • Accessing All Tabs
  • Summary

Chapter 11. Basics of Table View

  • Introduction
  • Styles of Table View
  • The Architecture
  • Creating a Table View Controller
  • A Closer Look at the Plain Style
  • Developing The Controller Class
  • Creating Cells and Reuse
  • Showing Information in a Cell
  • Cell Style
  • Setting Accessory Icon
  • Create the Table Controller in XIB
  • Show the Table View
  • Handling Row Section Event
  • Grouped Style
  • Summary

Chapter 12. Navigation Controller

  • Introduction
  • The Anatomy of Navigation Controller
  • Properties of UINavigationController
  • The Content Controller Stack
  • Creating a Navigation Controller
  • Creating Navigation Controller Using API
  • Navigating Within a Tab Bar
  • Moving Forward
  • Moving Backward
  • Customizing the Navigation Bar
  • Adding a Toolbar at the Bottom
  • Summary

Chapter 13. File System Services

  • Introduction
  • Home Directory Structure
  • Application Provisioning and Files
  • Paths of Standard Application Directories
  • Creating Directories
  • Listing Directory Contents
  • File Management
  • Bulk Read and Write
  • Granular Read and Write
  • Summary

Chapter 14. SQL Database Storage

  • Introduction to SQLite
  • The SQLite API
  • Opening and Closing Database Connection
  • Defining the Schema
  • Creating a Table
  • Inserting or Updating Data
  • Retrieving Rows
  • Bundling Database With Application
  • Summary

Chapter 15. Network Programming

  • Introduction
  • The NSURL Class
  • Simple Content Download
  • Asynchronous HTTP Request
  • NSData to String Conversion
  • Making POST Request
  • Basic Authentication
  • Maintaining HTTP User Session
  • Parsing XML
  • Parsing Using NSXMLParser
  • The Delegate
  • Example Delegate Class
  • Summary

Chapter 16. Multimedia Programming

  • Introduction
  • Playing Audio
  • Steps to Play Audio
  • Advanced Playback Control
  • Monitoring Audio Playback
  • Recording Audio
  • Preparing to Record
  • Control Recording
  • Playing Video
  • Prepare to Play a Movie
  • Start Playing
  • Removing the Player's View
  • Enabling Device Rotation
  • Summary

Chapter 17. Concurrent Programming and Multi-tasking

  • Introduction to Concurrent Programming
  • Starting Work in Background Thread
  • Auto Release Pool Issue
  • Updating the GUI
  • Canceling Work
  • Running Code Briefly While in Background
  • Example: Continue Running Code in Background
  • Running an Application Indefinitely in Background
  • Checking if a Device Supports Background Execution
  • Guidelines for Background Execution
  • Notifying User While in Background
  • Presenting Local Notification on a Schedule
  • Presenting Notification Immediately
  • Outcome of Notification
  • Summary

Chapter 18. Supporting Multiple Devices

  • The Problem
  • Development Strategy
  • Create a Device Specific Application
  • Creating Device Specific Executables in a Project
  • Create a Universal Application
  • Creating Device Specific Controllers
  • Using Device Specific Views from a Controller
  • Summary

Chapter 19. Testing and Tuning Applications

  • Introduction to Unit Testing
  • Introduction to OCUnit
  • Test Case Methods
  • Test Case Initialization and Clean Up
  • OCUnit Support in XCode
  • Profiling Your Application
  • Detecting Memory Leaks
  • Detecting Heavy CPU Usage
  • Memory Tuning Tips
  • Network Tuning Tips
  • Disk I/O Tuning Tips
  • Summary

Chapter 20. Application Provisioning

  • Introduction to Provisioning
  • Setting Your Application Icon
  • The Application ID
  • The Provisioning Portal Web Site
  • Enrolling Other Developers
  • Obtaining a Developer Certificate
  • Development Provisioning Profile
  • Create a Development Provisioning Profile
  • Set the Code Signing Certificate
  • Unit Testing Using a Device
  • Function Testing Using a Device
  • Distribution Provisioning Profile
  • Uploading Application to App Store
  • Summary
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline
Setup Guide Lab Setup Guide

Buy on-site and customized class

Attend a public class

05/28/2012 - Calgary
$3,450.00 Enroll

05/28/2012 - Ottawa
$3,450.00 Enroll

06/04/2012 - Online Virtual
$3,450.00 Enroll Confirmed!

06/11/2012 - Calgary
$3,450.00 Enroll

06/18/2012 - Montreal
$3,450.00 Enroll

06/25/2012 - Vancouver
$3,450.00 Enroll

07/30/2012 - Ottawa
$3,450.00 Enroll

08/13/2012 - Montreal
$3,450.00 Enroll

08/20/2012 - Calgary
$3,450.00 Enroll

08/27/2012 - Vancouver
$3,450.00 Enroll

08/27/2012 - Ottawa
$3,450.00 Enroll

09/10/2012 - Online Virtual
$2,995.00 Enroll

09/24/2012 - Toronto
$3,450.00 Enroll

10/22/2012 - Calgary
$3,450.00 Enroll

10/22/2012 - Ottawa
$3,450.00 Enroll

11/05/2012 - Vancouver
$3,450.00 Enroll

11/19/2012 - Toronto
$3,450.00 Enroll

11/26/2012 - Montreal
$3,450.00 Enroll

11/26/2012 - Online Virtual
$2,995.00 Enroll

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.