Learn Swift
Structured lessons from the basics up — follow the path below in order, at your own pace.
-
1
Level 1 — Beginner Beginner 35 lessons
Start here if you have never written a line of Swift before. No programming experience is required — work through these lessons in order, si...
Lessons in this module
What Is Swift? Why Learn Swift? What Can You Build With Swift? Installing Swift Setting Up Your Development Environment Your First Swift Program How Swift Code Runs Swift Syntax Basics Printing Output Constants and Variables Data Types and Type Inference Numbers Strings Working with Strings Booleans and Comparisons Operators Optionals Unwrapping Optionals Safely Type Conversion Reading User Input Conditionals: if and else The switch Statement for-in Loops and Ranges while and repeat-while Loops break and continue Arrays Common Array Operations Dictionaries Sets and Tuples Functions Parameters and Argument Labels Scope Closures map, filter, and reduce Comments and Code Style -
2
Beginner Projects Beginner 1 lesson
Build these with nothing but what Level 1 covered — print , readLine , constants and variables, optionals, conditionals, loops, arrays, dict...
-
3
Level 2 — Intermediate Intermediate 24 lessons
These lessons cover structs and classes, enums, protocols, extensions, generics, error handling, Codable and JSON, networking, Swift Package...
Lessons in this module
Structs Properties: Stored, Computed, and Observed Methods and mutating Initializers Classes and Reference Types Structs vs Classes Inheritance Enums Enums with Associated Values Protocols Extensions Generics Access Control Error Handling Optional Chaining and Optional Patterns Working with Collections Codable and JSON Swift Package Manager Networking with URLSession Files and FileManager Dates and Formatting Testing with Swift Testing and XCTest Debugging Swift Code Organization and Style Tools -
4
Intermediate Projects Intermediate 1 lesson
Build these using structs, enums, protocols, error handling, Codable, networking, and Swift packages from Level 2. Give each project its own...
-
5
Level 3 — Advanced Advanced 17 lessons
These lessons cover memory management with ARC, protocol oriented design, advanced generics, async/await, actors and data race safety, Swift...
Lessons in this module
Memory Management with ARC Reference Cycles: weak and unowned Protocol-Oriented Programming Opaque and Existential Types: some and any Advanced Generics: Associated Types and where Clauses Async/Await Structured Concurrency: async let and Task Groups Actors and Data-Race Safety Property Wrappers and Result Builders Macros SwiftUI Fundamentals SwiftUI State and Data Flow App Architecture Performance Security Fundamentals Server-Side Swift Shipping Apps: App Store, TestFlight, and CI/CD -
6
Advanced Projects Advanced 1 lesson
Build these using concurrency, SwiftUI, architecture, and the testing and shipping practices from Level 3. 1. SwiftUI Notes App Build a note...
-
7
What You Should Know Now — and What's Next 1 lesson
What You Should Know Now Core syntax: constants and variables, type inference, strings, numbers, conditionals, switch , loops, and ranges Op...