Introducing the Swift 3.0 Programming Language (One day)
This fast-paced, one day introductory course is for experienced developers who are new to Swift.
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 create higher order functions, work with generics, and be introduced to optionals.
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.
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.
For information about booking this class for your group, company, or public event, contact firstname.lastname@example.org.
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
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
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
Optionals and if let
Stored and Computed Properties
The init method
More optionals and nil coalescing operators
Raw values and more optionals
As property types
Getters and setters
Did set and will set
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