small medium large xlarge

A Swift Kickstart, Second Edition: Introducing the Swift Programming Language


Cover image for A Swift Kickstart, Second Edition

A Swift Kickstart, Second Edition

Introducing the Swift Programming Language


This best-selling book gets experienced programmers up to speed quickly with Swift. Swift is Apple’s open-source programming language for writing everything from iOS apps to server side code. This new version is updated to Swift 5, the latest release of Swift and is filled with hands-on examples that you can follow along with on a Mac using Xcode or on an iPad using Swift Playgrounds. Learn the basics of Swift programming including functions, variables, constants, and types, then expand your skills with classes, structs, enumerations, and protocols.

This work was written and produced entirely by the author. We are proud to be distributing it.

About this Title

Pages: 436
Published: 2017-11-08
Release: P2.0 (2019-02-21)
ISBN: 978-0-9830-6698-9

This is the perfect book for the experienced developer who wants to get serious about learning the Swift programming language. If you know at least one modern programming language, this book will teach you how to think and program in Swift. Swift’s design is inspired by elements from object-oriented, functional, and generic programming.

As the language matures and improves, this book changes to reflect the latest best practices and coding style. This second edition to the best-selling Swift introduction has been updated to the latest Swift 4 release. It’s never been easier to get started with Swift as this edition supports the new iOS Swift Playgrounds along with improved support for Xcode playgrounds. This means you can code along on a Mac or an iPad.

The book begins with an introduction to basic components of programming in Swift: functions, variables and constants, collections, and types from the Swift Standard Library. In the second part, create and use your own enumerations, structs, classes, and protocols.

Working your way through this book is a great way to learn the language of the iPhone, iPad, Mac, Apple Watch, and Apple TV.

What You Need

To follow along with the examples you’ll need to be running a Mac with the latest release of Xcode 10 or an iPad with the latest release of Swift Playgrounds. Currently this means you will need Mojave or High Sierra on a Mac or iOS 12 on an iPad.


Contents & Extracts

Read an excerpt

  • Let’s Get Started
    • Mac Quickstart
    • iPad Quickstart
    • Code Conventions
    • Links
    • Credits
    • Version History
    • Road Map
  • Functions
    • No Parameter, No Return
    • Return Values
    • Single Parameter
    • Overloading
    • Default Values
    • External Parameter Names
    • Multiple Parameters
    • Variadic Parameters
    • The print() Function
    • Returning Tuples
    • So…
  • Variables and Constants
    • Inferring Type
    • Let
    • Var
    • Using Variables and Constants
    • Storing Functions
    • Type Alias
    • Numeric Types
    • Nil
    • Nil Coalescing Operator
    • if let
    • So…
  • Collections
    • Create Arrays
    • Create Modifiable Arrays
    • Modify Arrays
    • Enumerate Arrays
    • Value and Reference Types
    • Optionals and Dictionaries
    • Create Dictionaries
    • Modify Dictionaries
    • Enumerate Dictionaries
    • Sets
    • Strings
    • So…
  • Enumerations
    • Create Enumerations
    • The switch Statement
    • Methods
    • Computed Properties
    • String Raw Values
    • Numerical Raw Values
    • Associated Values
    • Binding Associated Values
    • Previews
    • Value Types
    • Option Sets
    • So…
  • Structs
    • Create Structs
    • Stored Properties
    • Computed Properties
    • willSet() didSet()
    • CustomStringConvertible
    • Equatable
    • Value Types
    • Methods
    • Custom Operators
    • So…
  • Classes
    • Create Classes
    • Reference Types
    • Initializers
    • Subclasses
    • Methods
    • Optional Properties
    • Failable Initializers
    • Optional Chaining
    • Loading and Unloading
    • Composition
    • So…
  • Protocols
    • Create Protocols
    • Conforming to a Protocol
    • Self
    • Properties
    • Polymorphism
    • Generics
    • Protocol Extensions
    • Protocol Extensions Gotcha
    • Access Levels
    • More Access Levels
    • So…
  • Flexible Functions
    • Function Parameters
    • Reference Types
    • inout Parameters
    • Return Values
    • Extensions
    • Mutable Model
    • Non-Mutable Model
    • Generics
    • Conditional Conformance
    • So…
  • Higher-Order Functions
    • Types
    • Returning a Function
    • Returning a Closure
    • Consuming a Closure
    • Custom Operators
    • Mapping Arrays
    • Map
    • Filter
    • Reduce
    • Flat Map
    • Capture Lists
    • So…
  • Sequences
    • Distributions
    • Raw Representable
    • while let
    • Iterators
    • Sequences
    • Sequences and Iterators
    • Generics
    • Subscripts
    • So…
  • Errors
    • Examples
    • Optionals
    • Asserts
    • Throwing Errors
    • Catching Errors
    • Defer
    • Structs
    • Enumerations
    • MultipleCatches
    • Rethrows
    • So…


Daniel Steinberg is the author of more than a dozen books including the best selling books A Swift Kickstart and Developing iOS 7 Apps for iPad and iPhone. He has written apps for the iPhone and the iPad since the SDKs first appeared and has written programs for the Mac all the way back to System 7.

Daniel presents iPhone, Cocoa, and Swift training and consults through his company Dim Sum Thinking. When he’s not coding or talking about coding for the Mac, the iPhone, and the iPad he’s probably cooking or hanging out with friends. Details on his training, and speaking is on the Dim Sum Thinking website.