Course 426:
Introduction to iPhone and iPad Development
(with iOS9, Xcode 7, Objective-C 2, and Swift 2.2)

(5 days)


Course Description

This course is designed to help experienced developers get started in creating iOS applications for iPhones, iPads, and iPods. Students will explore the development environment and understand which tools, compilers, and frameworks are necessary and available for iOS development. Students will learn the basics of both Objective-C and Swift 2 while creating multiple applications which respond to user events. Students will test applications using the Simulator. Instructors provide lecture and hands-on training with the tools and concepts to ensure students are able to feel confident to meet the learning objectives.

Learning Objectives

  • Understand the background and overall structure of iOS
  • How to navigate and use Xcode
  • Understand structure and usage of Objective-C 2.0 and Swift 2.2
  • Run and debug applications using Simulator
  • Design user interfaces using various built-in UIView elements
  • Implement methods to respond to user interface controls
  • Work with table views, navigation controllers
  • Connect with web services and convert JSON data to objects
  • Persist user data and application state

Who Should Attend

Professional developers who want to begin creating applications for iPhone and iPad.


This course is designed for software developers who are new to iOS development and need to create professional mobile applications. Experience with object-oriented programming is required to get the most from this course.

Course Outline

1. Getting Started with iOS Development

  • Current State of iOS Development
    • Types of Apps
    • Methods for Development, Native vs. Web-Based
    • Supporting Older Versions of iOS
    • Pricing Methods
    • Advertising
    • App Thinning
  • iOS Human Interface Guidelines
  • Setting Up Your Environment
    • Registering with Apple
    • Joining an iOS Developer Program
    • Downloading the SDK
  • Getting Familiar with Mac
    • Shortcut Keys, Activity Monitor, Stopping Tasks
    • System Preferences, Finder, Spotlight

2. Working with iOS Projects in Xcode 7

  • Overview of Xcode and iOS
    • Opening an Existing Project
    • The Main Panes of Xcode
    • Running Code in Simulator
    • Debugging Code
    • Code Completion
  • Creating a new iOS Application
    • Using Templates
    • Creating a New Project

3. Designing User Interfaces

  • Cocoa Touch Layer and UIKit Framework
  • Managing Windows and Views
  • Adding Buttons, Text Fields, Labels
  • Creating User Interfaces to Target Different Devices and Rotation
  • Universal Storyboards for Adaptive Layouts

4. Programming in Objective-C

  • Objective-C Syntax
    • Data Types and Variables
    • Using Expressions and Operators
    • Controlling Application Flow
    • Using Constants
  • Foundation Framework
    • Representing Numbers, Strings, and Collections
    • Allocating and Initializing Objects
    • Using Literals
    • Sending Messages
  • Declaring Custom Classes
    • Header and Implementation Files
    • Using #import and @class
    • Using @property and Choosing Appropriate Parameters
    • Synthesizing Properties, using _ivars
  • Memory Management in iOS

5. Coordinating Interactions Using View Controllers

  • Customizing Behavior by Adopting Protocols
  • Connecting Outlets and Actions to the User Interface
  • Configuring View Controllers as a Delegates
  • Adopting Protocols and Implementing Required and Optional Methods

6. Swift 2.2

  • The Swift Playground
  • Creating Variables and Variable Types
  • Modifying Strings
  • Collections with Arrays and Dictionaries
  • Conditionals and Looping
  • Creating Classes, Methods, Objects, and Subclasses

7. Working with Data in iOS

  • Property Lists and NSUserDefaults
  • Using SQLite
  • Creating and Reading Object Archives
  • Working with Core Data
  • Displaying Data in Tables

8. Creating Apps with Multiple Screens

  • Using Tables to Navigate
  • Creating Tabbed Applications
  • Navigation Controllers
  • Adding ViewControllers to Storyboards
    • Adding Scenes
    • Configuring Segues and Transitions
  • iPhone vs. iPad Navigation

9. Web Services

  • Networking and Web Services
  • Connecting to Servers and Receiving Data
  • Using NSURLRequest and NSURLConnection
  • Using REST, Creating Requests, and Getting Data
  • Converting JSON Data to Objects

10. Distributing Applications

  • Checklist to Avoid Rejection
  • Publish for Testing
  • Publish to App Store

Please Contact Your ROI Representative to Discuss Course Tailoring!