About this course

Course type Performance Plus
Course code QAIOSSWIFT
Duration 5 Days

Building on your existing development experience we introduce Swift and then explore iOS as a platform. Next we explore the core architecture of an iOS app from basic UI construction through to data, location, animation and even asynchronous cloud access.

This course is hands on and you will build everything you see. By the end you will be able to incorporate many of iOS's most advanced features into your own apps.


At least two years commercial programming experience in a third generation programming language (such as C, C , C#, Java, Basic, Pascal). In addition a good understanding of object oriented design principles is required. You will also benefit by attending the Swift Programming language course prior to this course.


Module 1 - iOS Development

  • A bit of history
  • iOS Architecture
  • Cocoa Framework
  • Xcode overview
  • Anatomy of an iOS Application

Module 2 - Swift 101

  • Data Types and Optionals
  • Operators
  • Control Flow
  • Functions and Parameters
  • Closures

Module 3 - Swift 102

  • Classes and Encapsulation
  • Initializers
  • Defining Properties and Methods
  • Setting up Inheritance
  • Protocols & Delegates
  • Generics
  • Defining Categories

Module 4 - Views and View Controllers

  • Views
  • View Controllers under the hood
  • Introduction to Interface Builder
  • Defining Storyboards Scenes and Segues
  • Navigating between scenes
  • Handling memory warnings

Module 5 - Understanding Table Views

  • Understanding Table Views
  • Static and Dynamic Table Views
  • Designing custom table cells
  • Handling delegate events in a table view
  • Introduction to Collection Views

Module 6 - Extending the User Interface

  • Autolayout
  • Size Classes
  • Dynamic Type
  • Working with the UI Controls
  • Dealing with Date/Time
  • Unwind Segues
  • Gesture Recognizers

Module 7 - Universal Adaptive Apps

  • Universal Apps
  • Using the Split View Controller with iPad and iPhone
  • Popover Presentation Controllers
  • Modal View Controllers

Module 8 - Working with local Data

  • Creating and accessing files
  • Storing user preferences
  • Storing data in the keychain
  • Storing and retrieving data from a SQLite database

Module 9 - Core Data

  • Configuring, accessing and querying Core Data
  • Adding, Updating and deleting Core Data
  • Core Data and iCloud

Module 10 - Asynchronous Programming

  • Making the UI more responsive with asynchronous queues
  • Dispatch Queues and Grand Central Dispatch
  • Operation Queues

Module 11 - Animation

  • Using animation to create compelling user interfaces
  • Basic UIView animations
  • Introduction to UIKit Dynamics

Module 12 - Accessing Cloud Services

  • Sending/Retrieving data from the Cloud
  • Processing JSON Data
  • Processing XML

Module 13 - Location Services and Notifications

  • Receiving and managing location notifications
  • Beacons
  • Using Notification Center to observe and publish notifications
  • Local and Push Notifications

Module 14 - Multitasking

  • Working with Background Mode
  • Using Background fetch

Module 15 - Profiling and Analysing code

  • Analyzing your code
  • Profiling your code
Performance Plus

5 Days


This course is authored by QA

Delivery Method

Delivery method

Classroom / Attend from Anywhere

Receive classroom training at one of our nationwide training centres, or attend remotely via web access from anywhere.

Find dates and prices

Online booking is currently not available for this course, to find out more please call us on 0345 074 7998 or email us at info@qa.com to discuss how we can help.