A Swift Kickstart

Introducing the Swift 3.0 Programming Language (One day)

Who it's for

This fast-paced, one day introductory course is for experienced developers who are new to Swift.

What you'll learn

This best-selling, one-day, intensive class introduces you to the essential aspects of the latest version of the Swift Programming Language. The course covers much of the material included in the book A Swift Kickstart.

We begin the day with a simple iOS sample project and quickly move to a hands-on exploration of Swift functions, variables and constants, and collections. You'll be introduced to optionals and other Swift essentials.

During the second part of the class you will investigate Swift types as you create and use instances of Swift classes, structs, and enumerations. You'll experiment with methods, subclasses and properties and learn to harness the power of polymorphism through protocols and protocol extensions. We finish the day with another iOS project that uses much of what you learned to create a simple MVVM project.

What you need

You need a Mac running El Capitan or Sierra with the latest version of Xcode 8 installed. You'll create Swift playgrounds and iOS projects throughout the day.

Booking Info

For information about booking this class for your group, company, or public event, contact booking@editorscut.com.


A Simple iOS Project

Hello, World! (it's kind of the law)

Quick introduction to Xcode 8

A moment with GUI creation in Interface Builder

Swift Properties and Methods

Connecting Outlets and Actions in Swift

The iOS lifecycle

Meet the iOS Simulator

Language Fundamentals


Explore a playground in Xcode 8

Create and call functions

Function overloading in Swift

Default values for parameters

Local and external parameter names

Tuples and variadic parameters

Variables and Constants

Strong type inference in Swift

Let vs. Var

No promotion of numeric types

Where spaces matter

Functions as objects

Higher order functions

Partial application and currying


Create and modify arrays

Collections are homogeneous

Iterating an array

Arrays of functions

Create and modify dictionaries

A Quick look at Sets

A Quicker look at Option Sets


Types and Instances


Base classes

Stored and Computed Properties

By-reference semantics

The init method

Convenience methods

More optionals and nil coalescing operators


Overriding methods




Raw values and more optionals


Computed properties

As property types

Associated values



By-value semantics

Default init

Getters and setters

Did set and will set

Mutating methods


Collecting commonality





Protocol extensions


A Simple MVVM Project

Simple Timer

Meet the View Controller

Connect the View and the View Controller

Create a Model

Create a View Model

Connect the Model and the View Model

Connect the View Controller and the View Model

Communication in MVVM