SwiftLee Weekly - Issue 285


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 Strict Concurrency might be the end of Property Wrappers.

SPONSORED

Accurate iOS testing on real iPhones and iPads

Simulators don’t behave like real devices and that means bugs can slip through. QA Wolf runs every iOS test on real iPhones and iPads in parallel, so you get results that match what your users will experience. No flakes, no missed issues, just reliable coverage you can trust before every release. Test your iOS app the way users use it — Schedule a demo.

CURATED FROM THE COMMUNITY

Faster Equatable and Hashable conformances

Explore the different ways of conforming to Equatable and find out which technique is up to 30,000x slower (Yes, you’re reading that right!).
erkek.in

Why I'm Not Using Xcode 26's AI Chat Integration (And What Could Change My Mind)

Of course, it’s still early days, but I found this an interesting look at Xcode 26’s AI features and why it might not yet be what you need.
fline.dev

TextKit 2 - the promised land

Marcin Krzyżanowski has been working intensively with TextKit 1 & 2 and shares whether TextKit 2 lives up to the expectations.
blog.krzyzanowskim.com

What's New in UIKit

Prepare yourself for an in-depth exploration of UIKit 26 changes. I love how Seb Vidal covers each change independently with visuals to follow along easily.
sebvidal.com

How to Work with SwiftData in the Background in Swift 6

Swift 6 introduces various challenges, particularly when working with SwiftData and attempting to perform tasks in the background. Natasha explains how to do it!
natashatherobot.com

How to create a custom reusable toolbar in SwiftUI

Learn how to effectively reuse toolbar content across your SwiftUI Views using the ToolbarContent protocol.
tanaschita.com

SWIFT EVOLUTION

An overview of last week's Swift Proposal state changes. Check them out when they're in review, as it's your opportunity to influence the direction of Swift's future.

WHAT I'M WORKING ON

Apple Design Workshop: Preparing for macOS Tahoe

I've been lucky enough to join the Apple workshop in Amsterdam to prepare RocketSim for macOS Tahoe. Last week, I've visited Amsterdam for three days and made great progress on RocketSim's UI.

Apart from updating the app icon, I've also spent time on revisiting existing user interface elements. A few custom components were ready to be replaced by system components and the new glass background truly makes the UI more part of the system:

If you have the chance to join any of Apple's workshops around the world, I'd highly recommend doing so. I've been able to sit down with an Apple Designer, who gave me dedicated feedback right away. I could even check-in multiple times during the workshop to revisit decisions. Altogether, it's a unique opportunity to set yourself up for success when the new OS updates become generally available.

At anytime, visit the Meet with Apple page to see if there's a workshop you can attend. Good luck!

EARN ROCKETSIM LIFETIME

Share and Earn RocketSim Lifetime & free Swift Concurrency Course access

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:

Several subscribers have already helped me reach more developers and gained free access to RocketSim Pro and my Swift Concurrency Course — 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: @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...

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...