Swift 6 has been available to us for the better part of a year now, and more and more teams are considering or looking at migrating to the Swift 6 language mode. This typically involves trying to turn on the language mode or turning on strict concurrency, seeing a whole bunch of warnings or errors, […]
Read post
Subscribe to my newsletter and never miss a post
Learn more about Swift concurrency
What’s new in Swift 6.1?
Published on: February 27, 2025The 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 postSolving “Main actor-isolated property can not be referenced from a Sendable closure” in Swift
Published on: January 10, 2025When you turn on strict concurrency checking or you start using the Swift 6 language mode, there will be situations where you run into an error that looks a little bit like the following: Main actor-isolated property can not be referenced from a Sendable closure What this error tells us is that we’re trying to […]
Read postIs 2025 the year to fully adopt Swift 6?
Published on: January 9, 2025When 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 postWith 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 postSolving “Value of non-Sendable type accessed after being transferred; later accesses could race;”
Published on: August 23, 2024Once 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 postSetting the Swift Language mode for an SPM Package
Published on: August 21, 2024When 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 postSolving “Task-isolated value of type ‘() async -> Void’ passed as a strongly transferred parameter”
Published on: August 21, 2024Once 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 postSolving “reference to var myVariable is not concurrency-safe because it involves shared mutable state” in Swift
Published on: August 15, 2024Once 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 postSolving “Converting non-sendable function value may introduce data races” in Swift
Updated on: August 21, 2024Once 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 postExpand your learning with my books

Learn everything you need to know about Core Data and how you can use it in your projects with Practical Core Data. It contains:
- Twelve chapters worth of content.
- Sample projects for both SwiftUI and UIKit.
- Free updates for future iOS versions.
The book is available as a digital download for just $39.99!
Learn more