This repository contains code samples and exercises that accompany the Swift Concurrency Course, which helps developers transition from Grand Central Dispatch (GCD) to Swift’s modern concurrency model, introduced in Swift 5.5 and improved in Swift 6.
The course is available at swiftconcurrencycourse.com.
The course covers:
- The async/await syntax and how it simplifies asynchronous code.
- Structured concurrency with Task and TaskGroup.
- The MainActor and handling UI updates safely.
- Managing concurrency with actors.
- Using continuations to bridge existing completion handlers.
- Migration strategies from GCD to Swift Concurrency.
- Performance optimizations and debugging.
And much more. You can find the complete course curriculum at swiftconcurrencycourse.com.
- Clone the repository
- Open the Sample Code folder to access code samples per module.
- Follow along with the course for in-depth explanations, exercises, and code explanations.
- Xcode 16 and up
- macOS 15 and up
Contributions are welcome!
If you find issues or have improvements, feel free to open a pull request or an issue. I'll be using these to improve the course along the way.
If you've purchased the course, there's nothing else to do. I'll frequently update you via email when new course updates arrive.
Yet, to make the most out of your learning experience, I recommend:
- Following me on Twitter/X, Bluesky, and/or LinkedIn for updates.
- Subscribe to SwiftLee Weekly for Swift, SwiftUI, and Swift Evolution-related news.
This project is licensed under the MIT License—see the LICENSE file for details. Feel free to use the code examples in your projects.