Apple Swift Training

Request a Quote for this class

About this Course

This Apple Swift training class is a comprehensive introduction to the Swift programming language (version 2.2).

At Course Completion

Upon completing this course, students will be able to:

  • Understand the purpose and benefits of Swift
  • Gain experience using Swift’s data types and standard library
  • Learn the proper use of optionals
  • Implement a variety of user-defined types in Swift
  • Learn about the new error handling tool and techniques in Swift 2
  • Understand how to write Swift code that can interoperate with existing code written in C and Objective-C

Prerequisites

All attendees should have previous programming experience using an object-oriented language such as Objective-C, C#, Java, or C++.

Course Outline

Introduction

  • Purpose of Swift
  • Evolution of Swift
  • Goals of Swift
  • Execution Environment

Fundamentals

  • Files and Initialization
  • Statements
  • Constants and Variables
  • Type Annotations
  • Numeric Types
  • Booleans
  • Strings and Characters
  • Tuples
  • Conditional Statements
  • Loops

Optionals

  • Introduction
  • Forced Unwrapping
  • Optional Binding
  • Optional Chaining
  • Implicitly Unwrapped Optionals

Functions

  • Introduction
  • External Parameter Names
  • Default Parameter Values
  • Variadic Parameters
  • InOut Parameters
  • Function Types
  • Closures

Collections

  • Introduction
  • Arrays
  • Sets
  • Dictionaries

Object-Oriented Techniques

  • Enumerations
  • Structures
  • Classes
  • Computed Properties
  • Property Observers
  • Automatic Reference Counting (ARC)
  • Inheritance
  • Type Casting
  • Initialization
  • Deinitialization
  • Protocols
  • Extensions
  • Access Control

Error Handling

  • Introduction
  • Representing and Throwing Errors
  • Handing Errors
  • Cleanup Actions
  • Guards

Generics

  • Introduction
  • Generic Functions
  • Generic Types
  • Type Constraints

Interoperability

  • Introduction
  • Objective-C Frameworks
  • C Libraries
  • Mixed Projects