Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Ehab Amer, Alexis Gallagher, Matt Galloway, Eli Ganim, Ben Morrow, Cosmin Pupăză, the raywenderlich Tutorial Team

Rating No ratings yet

Beginning programming with Swift! This book takes you from beginner to advanced in Swift: Apple’s modern programming language for iOS.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A patient, exercise-driven introduction to Swift 5.3 that assumes no prior coding experience and builds you up to protocol-oriented programming and generics. Best for complete beginners who want a language-first foundation before touching iOS app frameworks. 【Book Arc】 - **Opening (~0%–10%)**: Front matter, licensing, and a "Before You Begin" setup guide covering required hardware (a Mac on macOS Catalina 10.15+) and tooling (Xcode 12+), plus how the book's playground-based, platform-neutral approach works. - **Early (~10%–35%)**: Section I, Swift Basics — starts from how a CPU, RAM, registers, and binary numbers actually work, then moves into playgrounds, comments, arithmetic, constants and variables, and the core data types including optionals. - **Middle (~35%–55%)**: Section II, Collection Types — storing and manipulating groups of data, framed around the idea that collections are a core component of any app (friend lists, game characters, and so on). - **Late (~55%–80%)**: Section III, Building Your Own Types — modeling your own parts of an app with classes, enumerations, and related constructs, since Swift's built-ins know nothing about your domain. - **Ending (~80%–100%)**: Section IV, Advanced Topics — error handling, memory management, protocol extensions, custom operators, protocol-oriented programming, and generics, i.e. Swift's behind-the-scenes mechanisms. 【Key Takeaways】 - **Swift is deliberately beginner-friendly** (Early): the book argues Xcode's playground sandbox lets you execute statements directly without building a whole app first, which is why a beginner can start here rather than with a framework book. - **Fundamentals come before frameworks** (Early): the authors explicitly recommend *SwiftUI by Tutorials* for readers who want to jump straight into app building, and note that SwiftUI syntax like `@State`, `@ObservedObject`, opaque return types, and result builders is either advanced or out of scope here. - **The book is platform-neutral by design** (Early): all code runs in playgrounds and isn't tied to iOS, macOS, tvOS, or watchOS — so what you learn transfers to server-side Swift on non-Apple platforms too. - **It starts below the language** (Middle): before any Swift syntax, the text explains CPUs, registers, RAM, instructions, and base-2/binary representation, including bits, bytes, nibbles, and 32- vs 64-bit registers. - **Practice is built into the structure** (Early): mini-exercises appear throughout chapters and challenges close each chapter, and the authors state you get the most out of the book by actually doing them. - **Four-section progression** (Early–Ending): Basics → Collection Types → Building Your Own Types → Advanced Topics, moving from data handling to custom modeling to memory and generics. - **Advanced abstractions are the payoff** (Ending): protocol extensions, custom operators, protocol-oriented programming, and generics are positioned as the tools for creating "beautiful abstractions" to solve real-world problems. - **It doubles as a reference** (Early): the authors suggest reading in order the first time, then returning to individual chapters to refresh specific topics. 【Reading Tips】 - **Read Section I in order, even if it feels basic.** The binary/CPU material is groundwork the later type system and memory chapters quietly depend on. - **Do the mini-exercises and chapter challenges.** They're the book's main feedback loop; skipping them turns an active tutorial into passive reading. - **Type code into your own playground rather than reading listings.** The book is designed around immediate execution and experimentation. - **Skim the front matter and licensing.** Setup requirements (Mac, Catalina, Xcode 12) matter; the legal notices don't. - **Treat the final section as the deep-read.** Error handling, memory management, and generics are where the real conceptual difficulty lives. 【Coverage Limits】 The excerpts cover front matter, setup, the four-section overview, and the opening of Section I through binary number representation; they do not detail individual chapters in Sections II–IV, so specifics of collections, custom types, and advanced topics are described only at the section level.
Excerpt 1
y loved ones: Moriah, Lia and Ari.” — Eli Ganim “For MawMaw. A talented cook, a loving smooch, a worthy opponent in chicken foot; a home weaver. Her blessing...
View in text
Excerpt 2
, for example — these are things you need to build yourself! You’ll learn how to do that in this section. Section IV: Advanced Topics The final section of th...
View in text
Excerpt 3
uters work, and then, how Swift’s playgrounds feature works. With those logistics out of the way, you’ll take a tour of the fundamentals of the Swift languag...
View in text
Excerpt 4
y _ computer and http://hackaday.com/tag/ternary-computer/ . Here’s a representation of the base 2 number 1101: In the base 10 number system, the place value...
View in text
Excerpt 5
d Chapter1 . Click Create to create and save the playground. Xcode then presents you with the playground, like so: Even blank playgrounds don’t start empty b...
View in text
Excerpt 6
l operations, just less common ones. Let’s turn to them now. The first of these is the remainder operation, also called the modulo operation. In division, th...
View in text
Excerpt 7
be like so: var integer: Int = 100 var decimal: Double = 12.5 integer = decimal Swift will complain if you try to do this and spit out an error on the third...
View in text
Excerpt 8
ge, can be reduced to raw numbers. Strings are no different! That may sound very strange. How can characters be numbers? At its base, a computer needs to tra...
View in text
Tags
AI categories
Programming LanguageSwiftEducation
Publisher: Razeware LLC
Publish Year: 2020
Language: English
Pages: 527
File Format: EPUB
File Size: 13.2 MB