Learn more about Swift concurrency

What’s new in Swift 6.1?

Published on: February 27, 2025

The Xcode 16.3 beta is out, which includes a new version of Swift. Swift 6.1 is a relatively small release that comes with bug fixes, quality of life improvements, and some features. In this post, I’d like to explore two of the new features that come with Swift 6.1. One that you can start using […]

Read post

Is 2025 the year to fully adopt Swift 6?

Published on: January 9, 2025

When Apple released Xcode 16 last year, they made the Swift 6 compiler available along with it. This means that we can create new projects using Swift 6 and its compile-time data race protections. However, the big question for many developers is: Is 2025 the right time to adopt Swift 6 fully, or should we […]

Read post

Sending vs Sendable in Swift

Updated on: January 6, 2025

With Swift 6, we have an entirely new version of the language that has all kinds of data race protections built-in. Most of these protections were around with Swift 5 in one way or another and in Swift 6 they’ve refined, updated, improved, and expanded these features, making them mandatory. So in Swift 5 you […]

Read post

Solving “Value of non-Sendable type accessed after being transferred; later accesses could race;”

Published on: August 23, 2024

Once you start migrating to the Swift 6 language mode, you’ll most likely turn on strict concurrency first. Once you’ve done this there will be several warings and errors that you’ll encounter and these errors can be confusing at times. I’ll start by saying that having a solid understanding of actors, sendable, and data races […]

Read post

Setting the Swift Language mode for an SPM Package

Published on: August 21, 2024

When you create a new Swift Package in Xcode 16, the Package.swift contents will look a bit like this: // swift-tools-version: 6.0 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "AppCore", products: [ // Products define the executables and libraries a package […]

Read post

Solving “Task-isolated value of type ‘() async -> Void’ passed as a strongly transferred parameter”

Published on: August 21, 2024

Once you start migrating to the Swift 6 language mode, you’ll most likely turn on strict concurrency first. Once you’ve done this there will be several warings and errors that you’ll encounter and these errors can be confusing at times. I’ll start by saying that having a solid understanding of actors, sendable, and data races […]

Void' passed as a strongly transferred parameter"">Read post

Solving “reference to var myVariable is not concurrency-safe because it involves shared mutable state” in Swift

Published on: August 15, 2024

Once you start migrating to the Swift 6 language mode, you’ll most likely turn on strict concurrency first. Once you’ve done this there will be several warings and errors that you’ll encounter and these errors can be confusing at times. I’ll start by saying that having a solid understanding of actors, sendable, and data races […]

Read post

Solving “Converting non-sendable function value may introduce data races” in Swift

Updated on: August 21, 2024

Once you start migrating to the Swift 6 language mode, you’ll most likely turn on strict concurrency first. Once you’ve done this there will be several warings and errors that you’ll encounter and these errors can be confusing at times. I’ll start by saying that having a solid understanding of actors, sendable, and data races […]

Read post

Expand your learning with my books

Practical Swift Concurrency (the video course) header image

Learn everything you need to know about Swift Concurrency and how you can use it in your projects with Practical Swift Concurrency the video course. It contains:

  • About ten hours worth of videos and exercises
  • Sample projects that use the code shown in the videos.
  • FREE access to the Practical Swift Concurrency book
  • Free updates for future iOS and Swift versions.

The course is available on Teachable for just $89

Enroll now