HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Get started fast with Swift programming for 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.
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
8 Protocols
Writing Your First Protocol
Animizable and Humanizable
Delegation
Protocols as Types
Protocols in Collections
Optional Chaining
9 Becoming Flexible with Generics
The Problem That Generics Solve
10 Games with SpriteKit
Setting Up the Project
The Start Screen
Dangerous Ground
A Hero to the Rescue
Enemies in Motion
Spawned Obstacles
Smashing Physics
11 Games with SceneKit
Creating DAE Files
Creating a New SceneKit Project
Your SceneKit Files
Making the Game
Bridging the Gap to Objective-C
12 Apps with UIKit
Application Types
Loading a Table View
Loading Data from a URL
Introduction
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
8 Protocols
Writing Your First Protocol
Animizable and Humanizable
Delegation
Protocols as Types
Protocols in Collections
Optional Chaining
9 Becoming Flexible with Generics
The Problem That Generics Solve
10 Games with SpriteKit
Setting Up the Project
The Start Screen
Dangerous Ground
A Hero to the Rescue
Enemies in Motion
Spawned Obstacles
Smashing Physics
11 Games with SceneKit
Creating DAE Files
Creating a New SceneKit Project
Your SceneKit Files
Making the Game
Bridging the Gap to Objective-C
12 Apps with UIKit
Application Types
Loading a Table View
Loading Data from a URL