Call us at 1-800-413-0939
Hands On Technology Transfer, Inc.

Swift Training

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

Travel Packages Discount Programs

Swift Programming for iPhone® and iPad® Applications

Duration: 5 Days

Price: $2595 *California residents and government employees call for pricing.

Remote Attendance: Click here for more information.

Students Will Learn:

  • Swift language syntax
  • Installing and configuring iOS development tools
  • XCode development environment
  • Common design patterns
  • Designing model-view-controller applications
  • The ARC system
  • Usage of the most common views and view controllers
  • Creating adaptive user interfaces for multiple iOS devices
  • Responding to user interactions with event handlers
  • Accessing and maintaining database objects
  • Persisting data manually and with core data
  • Service oriented architecture concepts
  • Implementing web services into iOS applications
  • Storyboard development for multiple platforms
  • Developing interfaces for multiple platforms and resolutions
  • Core APIS and frameworks
  • Apple design guidelines and good code design practices
  • Hardware camera system and image capturing
  • Audio and video recording/playback

Course Description: 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 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++.

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
  • Using Xcode Templates
  • 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
  • Writing Code for Hardware Interaction
  • Data Types
    • Type Inference
    • Value Types
    • Enumerations
    • Optional Values and Tuples
    • Algebraic Data Types
    • Collection Types (Arrays and Dictionaries)
    • Generics
  • Flow Control, Loops and Functions
  • String Manipulation & Pattern Matching
  • Using Blocks
    • Purpose and Syntax of Blocks
Object Oriented Programming Constructs
  • Designing Classes
  • Defining Classes in Code
    • Creating Methods within Classes
    • Declaring Parameters and Return Types
    • Writing Initialization Methods
    • Public vs. Private Methods
  • Instantiating and Using Class Objects
  • Using ARC (Automatic Reference Counting)
  • Using Properties within a Class
    • Public vs. Private Properties
    • Initializing Properties
    • Manipulating and Using Properties
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
Event Handling
  • Event Driven Programming Model
    • Types of Application Events
    • Declaring and Coding Event Handlers
    • Handling Custom Events
    • Handling¬†System Events
GUI Interfaces
  • Using Xcode to Create GUI Interfaces
  • Using Adaptive Views to Adjust for Different Size Devices
  • Creating Views in Storyboard
  • Adding Items to Views
  • Creating Segues for View Transitions
  • Using Live Rendering
  • Using @IBDesignable and @IBInspectable
Delegates and Protocols
  • Declaring Protocols
  • Implementing Delegate Methods
  • Conforming Classes to Protocols
  • Identifying Delegate Patterns
  • Required vs. Optional Methods
Web Service Support
  • Exploiting Service Oriented Architecture
  • Creating Apps that Use Web Services
  • Advantages of Using RESTful Web Services
  • Using NSURLSession
  • Formatting Data for Transmission Over a Network
  • 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
Reading and Writing Files
  • Data Persistence Concepts
  • iOS File System Structure
  • Locating an Application's File Space
  • Manipulating Files
    • Locating Files
    • Testing for Existence
    • Creating Files
    • Reading and Writing Files
    • Closing and Saving Files
Using Core Data
  • 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
Touch Recognition and Gestures
  • Multi-Touch Concepts
  • iOS Recognizable Gestures
  • Recognizing User's Touch Movement
  • Recognizing Touch Release
  • Responding to Users Touch and Gestures
Hardware Camera Use
  • Camera Detection
  • Types of Media
  • Image Capture
  • Image Display Options
  • Saving Images
Audio Systems
  • Recording
  • Playback
  • Streaming
  • AVAudioSession
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
  • Importing Objective-C and C APIs into Swift
System Events and Background Execution
  • Application Lifecycle Events
  • Reacting to System Events
  • Methods Declared in the App Delegate
  • Coding Methods in the App Delegate
  • Running Tasks in the Background
  • 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

Individual training passes: save up to 43%! For complete discount options » click here «

# Courses Total Cost Cost Per Course % Savings
2 $4,090 $2,045 22%
3 $5,490 $1,830 30%
4 $6,690 $1,672 36%
5 $7,790 $1,558 40%
6 $8,890 $1,482 43%

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

Multiple Training Locations - Convenience and Cost Control

Attend Regularly Scheduled Courses in More than 100 Cities Across North America and the United Kingdom or via Remote Attendance