Call us at 1-978-250-4299
Hands On Technology Transfer

Swift iOS Training Course

Attend face-to-face, remote-live, on-demand or on site at your facility

On-Demand Training with Personal Facilitation

Swift Programming for iPhone® and iPad® Applications

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training.


Face-to-face or remote-live: CDN$3,275

On-demand: CDN$1,975

Discounts: We offer multiple discount options. Click here for more informaiton.


Face-to-face or remote-live: 5 Days

On-demand: Approximately 35 hours of coursework with personal facilitation, to be completed in a four week span.


Face-to-face: Click here to view our schedules and register for in-person sessions.

Remote-live: Click here to register for live remote class sessions within a date range of your choosing.

On-demand: Click here to register for on-demand training with personal facilitation, on a start date of your choosing.

Students Will Learn

  • Using Xcode to build iPhone and iPad apps
  • Working with Swift data types
  • Using Swift control structures such as if, while and for
  • Creating and calling Swift functions
  • Managing data using Swift arrays and dictionaries
  • Designing and using Swift classes
  • Understanding how ARC manages memory
  • Handling run time errors in Swift
  • Understanding the iOS app life cycle
  • Understanding Apple's implementation of the MVC design pattern
  • Using Storyboards to design user interfaces
  • Creating and configuring view controllers
  • Building IBOutlets to interact with UI widgets
  • Creating IBActions to handle UI events
  • Using AutoLayout to create user interfaces for multiple iOS devices
  • Using Apple's singleton and delegate design patterns
  • Creating Single View apps
  • Creating Tab Bar apps
  • Creating master/detail apps
  • Customizing table views and table view cells
  • Interacting with local files on the device
  • Using Web services to manage data
  • Persisting data locally using Core Data
  • Working with collection views
  • Capturing images using the camera
  • Working with gesture recognizers
  • Creating finite-length background tasks

Course Description

In this hands on Swift programming course, attendees learn how to develop iPhone and iPad apps using Swift and Xcode. Students begin by learning the fundamentals of the Swift language. They then learn how to build object-oriented applications by creating Swift classes with properties, initializers and both instance and class methods. Coverage includes use of advanced Swift features like generics, closures, and error handling.

During exercises, students use Storyboards to design user interfaces for iOS apps, and configure view controller classes to interact with iOS views and controls (labels, text fields, buttons, segmented controls, switches, table views, etc.) using IBOutlets, create event handlers using IBActions and then code events handlers. Students also learn how to use segues to manage transitions between views.

Students become proficient in implementing master/detail apps. Features explored include configuring table views, designing details views, implementing add features, and coding "swipe to delete." Students also learn how to implement different types of custom table view cells. This type of app is among the most common app found in the marketplace.

Students learn how to persist data using three different techniques: read and write local files on the device, make asynchronous calls to Web services and parse XML data from the HTTP response, and use Core Data to interact with local SQLite databases.

Students examine how to work with images, as well as use touch and gesture recognizers to respond to complex user interactions like pinch to zoom. They learn how to use tab bar controllers to build a multi view app. They learn about the life cycle of an iOS app and how to write code to respond to state transitions, including scheduling code to run in background when the app isn't active.

Throughout the Swift iOS training course, students work with Apple's Cocoa Touch UI Framework. They examine how to implement Apple's delegate design pattern which is used in many APIs. Students practice these skills by working with pickers and collection views, as well as writing code to capture images with the camera.

The Swift programming course emphasizes best programming practices. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency. Students create iOS apps using Swift from the ground up, demonstrating the features of Swift, iOS, and its supporting code libraries.

Course Prerequisites

Prior programming experience in an object-oriented language such as Objective-C, Java, C# or C++ is required when learning Swift programming.

Course Overview

Programming iOS Apps in Swift on a Mac
  • What is iOS?
  • Devices that Support iOS
  • Building a Developer's Workstation
  • Examining the macOS
  • Exploring macOS Tools
  • Enrolling in the Apple Developer Program
Xcode IDE
  • Using Swift Playgrounds
  • Creating Apps Using Xcode Templates
  • Exploring the Xcode IDE
  • Leveraging Xcode Debugging Support
Swift Data Types
  • Declaring Variables and Constants
  • Working with Swift Numeric Data Types
  • Working with Strings
  • Working with Dates
  • Understanding Swift Optionals
  • Designing with Swift Generic Types
  • Working with Collections (Arrays and Dictionaries)
  • Using Tuples
Swift Control Structures
  • Using Flow Control Statements (if, switch)
  • Writing Loops (for, while, repeat)
  • Writing and Calling Functions
    • Defining Parameters
    • Specifying Return Type
    • Using Named Parameters
    • Nesting Functions
  • Using Swift Function Types
Object Oriented Programming Constructs
  • Defining Classes
  • Declaring Properties
  • Writing Initialization Methods
  • Creating Methods
  • Understanding Public vs. Private
  • Instantiating and Using Objects
  • Understanding ARC (Automatic Reference Counting)
Swift Error Handling
  • Understanding Swift Error Handling
  • Defining and Throwing Errors
  • Propagating Errors Using Throwing Functions
  • Handling Errors Using do-catch
  • Understanding the Swift Error Type
  • Converting Errors to Optionals
  • Using defer to Specify Cleanup Actions

iOS Design Patterns

  • Working with Model-View-Controller
  • Designing Singletons
  • Using Lazy Initialization
  • Implementing the Delegate Design Pattern
  • Declaring Protocols
  • Implementing Protocols
  • Optional Protocol Methods
iOS Apps
  • Understanding an Xcode Project Structure
  • Designing the UI Using Storyboards
  • Working with View Controllers
  • Creating IBOutlets and IBActions
  • Handling Events
  • Specifying Different Types of Keyboards
Enhancing iOS Apps
  • Exploring iOS Controls, Views and View Controllers
  • Creating Multiple Views Controllers
  • Using Segues for View Transitions
  • Using Navigation Controllers
  • Using AutoLayout to Constrain Views and Manage Layout in Differently Size Devices

Building Sophisticated User Interfaces

  • Working with Labels, Buttons and Text Fields
  • Using Switches and Sliders
  • Allowing User Selection with Pickers
  • Displaying Data Using Collection Views
  • Using Tab Bar Controllers to Arrange Multiple Views

Designing Master/Detail Applications

  • Implementing Master/Detail Applications
  • Configuring Table Views
  • Implementing Detail Views
  • Implementing Add Item Functionality
  • Implementing "Swipe to Delete"
  • Supporting Multiple Types of Table View Cells
Reading and Writing Files
  • iOS File System Structure
  • Understanding an Application's Sandbox
  • Locating Files
  • Working With Serializable Types
  • Reading and Writing Files
Working with Web Services
  • Using RESTful Web Services
  • Configuring and Using URLSession
  • Working with HTTP Requests
  • Formatting Data for POST Requests
  • Designing Completion Handlers to Process HTTP Responses
  • Parsing Data in HTTP Responses
  • Configuring App Transport Security
Using Core Data
  • The Managed Object Model
  • Managed Object Context
  • Creating a Core Data Application
  • Understanding the Core Data Model
  • Creating Entities and Attributes
  • Subclassing NSManagedObject
  • Fetching, Editing and Saving Core Data Objects
  • Working with the Core Data Master/Detail Template
System Events and Background Execution
  • Application Lifecycle Events
  • Examining the App Delegate
  • Reacting to System Events
  • Running Tasks in the Background
Touch Recognition and Gestures
  • Understanding Multi-Touch Concepts
  • iOS Recognizable Gestures
  • Recognizing User's Touch
  • Using Gesture Recognizers
Working with the Camera
  • Detecting the Camera
  • Types of Media
  • Working with UIImagePickerController
  • Capturing and Processing the Image
  • Saving the Image
  • Configuring Camera and Photo Library Permissions

iPad® and iPhone® are trademarks of Apple Inc., registered in the U.S. and other countries.

Related Courses

Course Benefits

  • Course materials include student guide, hands-on lab manual and USB flash drive for examples and lab work
  • Students receive a certificate of completion at the end of class
  • Students can retake any portion of a class that has been completed, within 12 months at no extra cost
  • There are no registration fees or cancellation fees


Excellent class. The instructor was simply excellent and very knowledgeable. One of the best classes I have attended in a long time.
— H.B., Bureau of the Physical Service

Course Schedule

Choose a city below to view a schedule of courses. Attend regularly scheduled classes across Canada, or attend via our Remote-Live and On-Demand training options.