Table of contents : Taking the first steps with Swift -- Learning about variables, constants, strings, and operators -- Optional types -- Using Swift collections -- Control flow -- Functions -- Classes, structures, and protocols -- Using protocols and protocol extensions -- Protocol oriented design -- Generics -- Availability and error handling -- Custom subscripting -- Working with closures -- Concurrency and parallelism in Swift -- Custom types -- Memory management -- Swift formatting and style guider -- Adopting design patterns in Swift.