Hands On Technology Transfer Computer Training
Hands-On Technology Transfer presents

Swift Programming for iPhone® and iPad® Applications (Canada) On-Site Training

This on-site training class is also available as Public Schedule Seminar.

In this hands on Swift programming course, attendees will learn how to develop iPhone and iPad applications using the Swift programming language and the Xcode 6 Integrated Development Environment.

Course Description/Agenda

In this hands on Swift programming course, attendees will learn how to develop iPhone and iPad applications using the Swift programming language and the Xcode 6 Integrated Development Environment. The course emphasizes safe programming practices and introduces the MVC pattern in detail. Students are familiarized with core APIs including the Foundation and Cocoa Touch frameworks. Students will learn how to utilize Objective-C code in Swift applications in order to take advantage of the rich variety of existing APIs and frameworks. Students will learn how to save and read files for local systems and how to use the Core Data system to create local SQLite databases. Attendees also learn how to develop apps incorporating iCloud support, and the requirements for sharing documents.

Students will learn how to use built-in data views as well as create custom screens for data entry and presentation. The course presents Apple's design recommendations for providing clean interfaces that appropriately size to various devices and screens. The course emphasizes Service Oriented Architecture (SOA), and students learn how iOS apps interact with Web services through request/response systems. Hands on practice includes implementing code to access a web service asynchronously.

Students will learn how to use the camera and microphone for still images, videos and audio. The course also includes coverage of scheduled background execution to allow code to be run when the app isn't active and to schedule alerts to draw attention back to the app.

Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency. Students will create Swift apps from the ground up, demonstrating the features of Swift and its supporting code libraries.

Course Prerequisites: Prior programming experience in an object-oriented language such as Objective-C, Java, C# or C++.

What You Will Learn

  • Swift Language Syntax
  • Installing and Configuring iOS Development Tools
  • Xcode Development Environment
  • Common Design Patterns
  • MVC Architecture in Practice
  • The ARC System
  • Usage of the Most Common Views and View Controllers
  • Creating Event Handlers
  • Accessing and Maintaining Database Objects
  • Service Oriented Architecture Concepts
  • Storyboard Development for Multiple Platforms
  • Multi-Threading Support
  • Developing Interfaces for Multiple Platforms and Resolutions
  • Core APIs and Frameworks
  • Apple Design Guidelines
  • Hardware Camera System and Image Capturing
  • Audio and Video Recording/Playback

Course Overview

Macintosh Programming Environment
  • Versions of iOS and Supported Devices
  • Overview of OS X Versions
  • Command Line Interaction
  • Program Development Tools
  • Apple Approval Process
Xcode IDE Installation and Use
  • Installing and Updating Xcode
  • Code Development and Tracking
  • Debugging Support
  • Visual Analysis Tools
  • Application Navigation Tools
  • Swift Playground
    • Interactive Development and Live Rendering
    • Interactive Graphics Support
  • Performance Testing with XCTest
Swift Language Syntax
  • Fundamental Declarations
  • Object Oriented Programming Support
  • Using Dynamic Binding
  • Using ARC
  • Writing Code for Hardware Interaction
  • Data Types
    • Type Inference
    • Value Types
    • Enumerations
    • Tuples
    • Algebraic Data Types
    • Generics
  • Flow Control
  • String Manipulation & Pattern Matching
  • Using Blocks
    • Purpose and Syntax of Blocks
Event Handling
  • Event Driven Programming Model
    • Types of Application Events
    • Declaring and Coding Event Handlers
    • Handling Custom Events and Exceptions
  • Recognizing System Events
    • Recognizing Apps Moving to Background
    • Detecting and Solving Low Memory Events
Design Patterns and the MVC Application Architecture
  • Common Design Patterns
    • Singleton Pattern
    • Lazy Instantiation
    • Protocol/Delegate Pattern
  • Model-View-Controller Development Paradigm
  • Application Design Process
  • Core Services Layer
  • Cocoa Touch Layers
  • User Interface Frameworks
Threading Support
  • Creating Threads
  • Using Threads for Asynchronous Processing
  • Setting Thread Priorities
  • Synchronizing Messages
Web Service Support
  • Exploiting Service Oriented Architecture
  • Creating Apps that Use Web Services
  • Advantages of Using RESTful Web Services
  • Apple Push Notification Service (APNs)
  • Apple Media Services
  • Geographical Location Services
Custom View Design and Layout
  • Designing Views
  • Apple's UI Design Standards
  • Utilizing Controls
  • View Navigation
  • Custom View Transitions and Animations
  • Multi-View Application Considerations
Views and View Controllers
  • Using Generic Views and View Controllers
  • Page Views
  • Picker Views
  • Using Specific Purpose Views
    • Text View
    • Web View
    • Map View
  • Table and Table Cell View
Compatibility Support
  • Using Swift in Objective-C (Interfacing Protocols)
  • Using Objective-C APIs in Swift
  • Working with Cocoa Data Types and Design Patterns
  • Migrating Objective-C to Swift
Database Application Support
  • Core Data Stack
    • The Managed Object Model
    • Managed Object Context
  • Creating a Core Data Application
  • Manipulating Core Data Objects
    • SQLite Library
    • Saving
    • Retrieving
    • Deleting
  • iCloud Data Services
    • iCloud Document and Data Storage
    • Key-Value Data Storage
    • Sharing Data between Applications
Hardware Camera Use
  • Camera Detection
  • Image Capture
  • Image Display Options
  • Saving Images
Audio Systems
  • Recording
  • Playback
  • Streaming
Video Systems
  • Recording
  • Playback
  • Saving Locations


More Seminar Information

Hands-On Technology Transfer
Hands On Technology Transfer Computer Training

Delivery Method

On-Site Training On-Site Training

Also Available As

Seminar Seminar

Add to favorites Add to favorites
Email Email this page

On-Site Training
Information Request Form

Please complete the form for more information and/or a quote for this on-site class.




City and State


Number of students:
(at least 10 for consideration)

When do you want to hold the

How long would you like for the

Additional comments to trainer:

We value your privacy!