SwiftLee Weekly - Issue 284


This week's SwiftLee Weekly covers:

  • @isolated(any)
  • New Observations API
  • SwiftUI for macOS Tahoe

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Async await in Swift explained with code examples

Everybody talks about Swift 6.2 and approachable concurrency, but what if you're still working with closure-based code? Migrating to async-await is your first step. Though, should you do that before or after migrating to Swift 6+?

SPONSORED

Faster iOS app releases with automated QA

If slow QA processes are slowing down your iOS releases, try QA Wolf. Their AI-native service delivers 80% automated test coverage in weeks, with tests running on real iOS devices—all in 100% parallel with zero flakes. Rated 4.8/5 on G2. Schedule a demo to learn more.

CURATED FROM THE COMMUNITY

Streaming changes with Observations

While this new API requires latest OS versions, I believe it’s going to have a big impact in how we write code. I’d even say, combined with Concurrency, it might allow us to move away from Combine completely. If you want to read more, here’s another article covering the topic.
swiftwithmajid.com

@isolated(any)

Swift Concurrency introduced a lot of isolated keywords and one of them is @isolated(any). You might have seen it, probably not (yet) used it. Mattt explains what it does.
nshipster.com

Define the scroll edge effect style of a scroll view for Liquid Glass

Different scroll edge effect styles impact the readability and experience of your iOS 26-supporting app. Learn how to pick the best one for your scroll views.
createwithswift.com

SwiftUI for Mac 2025

I’m building mostly for Mac these days, and loved this overview article of SwiftUI changes in macOS Tahoe.
troz.net

Working with partially generated content in Xcode previews

What if you want to show previews of in-progress changes for generated content? Artem Novichkov shares his solution.
artemnovichkov.com

NEW COURSE UPDATE

Swift Concurrency Course Update

My in-depth concurrency course got a large update and now offers a dedicated Core Data & Swift Concurrency module.

I've also added 10 new lessons, including:

  • Isolated conformance to protocols
  • Using isolated synchronous deinit
  • When to use discarding task groups

Altogether, the course now offers 65 lessons and 10 assessments and it's still available for a reduced launch offer price.

I offer students to share a testimonial after completion and one student wrote:

“For some reason, I always thought that a course had to be created by big companies to be good. I’m impressed by how valuable and accessible a course created by the community can be.”

WHAT I'M WORKING ON

Apple Workshops in Amsterdam

While I just arrived back from my 1-week holiday, I'm already deep into a busy work week. From Tuesday till Thursday, I'll be visiting Apple Workshops in Amsterdam to bring the new macOS Tahoe design to RocketSim.

Weeks like these require me to prioritize carefully. I only have today to prepare my weekly article, this newsletter, and handling all emails from the past week. This is also why I decided to update an older article instead of writing a complete new one to save myself time.

While I'm writing this from my Mac mini (self-hosted GitHub runner instance), I'm running the latest public beta update on a separate partition. The workshops require an up to date device so you can get started adopting new APIs right away.

So you might wonder: didn't you already adopt these new designs? You must have been excited right after WWDC!

Well, I was excited, but I decided to focus on Swift Concurrency first. RocketSim is now in a state where most of the code is migrated to strict concurrency, allowing me to switch focus completely to updating all UI elements. So yes, I was ánd I still am excited!

My goal is to adopt RocketSim's windows to macOS Tahoe first. This will especially be challenging for the Network Monitor, side window, and settings screen. Eventually, I'd love to integrate into Shortcuts and allow for more automations. Busy times ahead!

EARN ROCKETSIM LIFETIME

Share and Earn RocketSim Lifetime & a 1-on-1 coaching session

Apple has recognized RocketSim as an Essential Developer Tool in the Mac App Store, and now you can get lifetime Pro access by sharing your unique referral link!

How to get started:

[RH_REFLINK GOES HERE]

Rewards:

  • Earn your first reward after just 3 sign-ups!
  • Check your progress anytime using your referral dashboard.
  • The grand prize? A personalized 1-on-1 career coaching session!

Several subscribers have already claimed their rewards—will you be next?

Thank you so much for your support, and until next Tuesday,

Antoine

SwiftLee Weekly by Antoine van der Lee

A new SwiftLee article, code snippet, Swift Evolution updates, 5 top community articles, and a weekly answer to a question from the community to level up your Swift skills.

Read more from SwiftLee Weekly by Antoine van der Lee

This week's SwiftLee Weekly covers: Raw Identifiers in Swift Using a WebView in SwiftUI Using App Intents correctly Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Swift Computed Property: Code Examples While this is a basic in Swift, there are some nice additions since recently. For example, you can now use async and typed throws in the getter of a Swift computed property. SPONSORED Full iOS coverage. Fast If your test suite is missing critical flows or isn’t up to date, you’re at...

This week's SwiftLee Weekly covers: My Apple Design Workshop experience The end of Property Wrappers? Watch out for 30,000x slower Equatable conformance Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Property Wrappers in Swift explained with code examples I'm sure many of you are familiar with Property Wrappers, or at least, you've used built-in wrappers like @State or @Published. I've revisited this article and updated it to have a look at how they relate to Swift Macros and why...

This week's SwiftLee Weekly covers: My favorite open-sourced Apple frameworks The biggest benefit of Going Indie A special "I'm on a holiday" edition Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Global actor in Swift Concurrency explained with code examples The @MainActor is probably well-known and it's an example of a global actor. But how and when should you use a custom global actor? That's explained in this week's article, including a common risk when defining one. SPONSORED...