With Safari, you learn the way you learn best. Get unlimited access to videos, live online training,
learning paths, books, tutorials, and more.

Learning Swift™ Programming

Book Description

Get started fast with Swiftprogrammingfor iOS and OS X

Learning Swift Programming is a
fast-paced, hands-on introduction to writing production-quality iOS
and OS X apps with Apple’s new programming language. Written
for developers with previous experience in any other modern
language, this book explains Swift simply and clearly, using
relevant examples that solve realistic problems.

Author Jacob Schatz’s popular Skip
Wilson video tutorials on YouTube have already helped thousands of
Apple developers get started with Swift. Now, he helps you take
full advantage of Swift’s advanced design, remarkable
performance, and streamlined development techniques.

Step-by-step, you’ll move from basic
syntax through advanced features such as closures and
generics–discovering helpful tips and tricks along the way.
After you’ve mastered Swift’s building blocks and
learned about its key innovations, a full section of case studies
walks you through building complete apps from scratch.

Compare Swift with Objective-C,
JavaScript, Python, Ruby, and C

Collect data with arrays and dictionaries,
and store it with variables and constants

Group commonly-used code into functions
for easy reuse

Structure your code with enums, structs,
and classes

Use generics to get more done with less
code

Write closures to share small blocks of
functionality

Use optionals to write more robust,
crash-resistant, and cleaner code

Integrate existing Objective-C code into
new Swift apps

Program on the bit and byte level with
advanced operators

Implement efficient design patterns with
protocols and delegates

Create animated 2D games with SpriteKit,
and 3D games with SceneKit

Contents at a Glance

1 Getting Your Feet Wet
Building Blocks of Swift
Optionals: A Gift to Unwrap
Tuples
Number Types and Converting Between Them
Coming to Swift from Objective-C and C

2 Collecting Data
Using Arrays
Modifying Arrays
Using Dictionaries

3 Making Things Happen: Functions
Defining Functions
More on Parameters

4 Structuring Code: Enums, Structs, and Classes
Enums
Structs

5 Making a Game
Building a User Interface (UI)
The Action-Packed View Controller

6 Reusable Code: Closures
What Are Closures?
Closures in Other Languages
How Closures Work and Why They’re
Awesome

7 Subscripts and Advanced Operators
Writing Your First Subscript
Bits and Bytes with Advanced Operators
Customizing Operators
Making Your Own Operators
Bits and Bytes in Real Life