SwiftLee Weekly - Issue 339


This week's SwiftLee Weekly covers:

  • Data dependencies and SwiftUI redraws
  • MVVM in SwiftUI
  • A new warning in Xcode 27

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

MVVM in SwiftUI: Using view models without overengineering

As an iOS developer, should you use MVVM in SwiftUI? You'll get many different answers, but here's at least an article explaining how I think you should use it, if you end up doing so.
avanderlee.com

SPONSORED

Does Xcode Instruments Feel Too Intimidating?

Xcode Instruments is powerful, but choosing workflows and interpreting dense timelines can make it hard to know where to start. RocketTrace keeps Instruments as the source of truth while turning its recordings into ranked, measured findings—so you can focus on what deserves investigation first. Analysis stays local. Join the early-access list.

CURATED FROM THE COMMUNITY

Dynamically Setting Accessibility Custom Content Pairs in SwiftUI

Always keep an eye out when Bas Broek writes a new article! He's one of the best engineers in accessibility and he now covers a clever trick he learned while working together with a fellow accessibility expert.
basbroek.nl

SwiftUI data dependencies and their effect on view updates

When does SwiftUI redraw? It's an important question to ask yourself, essential to know when building apps in SwiftUI. Natalia Panferova shines a light on data dependencies, an interesting one for RocketTrace to keep an eye on!
nilcoalescing.com

Why Swift is introducing a warning for weak captures within nested closures

Using Xcode 27 beta already? If not, you'll soon do, and you'll soon encounter this warning explained in John Sundell's article.
swiftbysundell.com

How to set a default value in Swift string interpolation

This hidden API in Swift always reminds me that it remains important to keep reading articles like this one from Sarunw.
sarunw.com

Private properties no longer break the memberwise initializer in Swift 6.4

One of my favorite Swift 6.4 changes, explained by Sarunw. This has always been annoying when working with structures!
sarunw.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

Reviving an old app

Not even long ago, it would take quite some effort to build an app, let alone multiple. Not many know, but I developed an app for Stocks a few years ago. I stopped working on it because the return on investment was simply too low. It’s currently generating around $100 in Monthly Recurring Revenue (MRR), which isn't particularly impressive (I hope).

Yet, the users who installed it liked it. The ones that did buy a subscription renewed it. There’s something in it, so I kept thinking about it. Now, with AI doing a lot more in less time, I decided to give it another go.

Over the weekend, I’ve been able to implement several high-requested features with a few prompts. Based on the solid structure, my agents were able to implement a few more endpoints pretty simply to produce a UI similar to what I already have. I did some App Store Optimization and improved my screenshots using Sketch’s MCP, while I’m also working on adding support for more languages.

Overall, this will cost me maybe a day or two, but it gives me the opportunity to see if it moves the needle. What if it suddenly moves to $200 MRR quickly? What if I could tell users are coming back to the app more often? What if I decide to spend a few more days on it?

You might have an old app out there too. Consider revisiting it, instructing an agent on the side during your day-to-day job. Who knows what it brings? Maybe you’ve improved your knowledge and can now get it off the ground! Good luck ;-)

UNTIL NEXT TIME

Refer one developer. Get my 5 agent workflows

Know a Swift or iOS developer who would enjoy SwiftLee Weekly? Refer one confirmed subscriber, and I’ll send you the five agent-powered workflows I use for marketing, App Store metadata, support, performance, and Xcode disk cleanup.

Your rewards continue from there: reach three referrals to unlock 50% off RocketSim Pro Yearly.

Your personal referral link

[RH_REFLINK GOES HERE]

Share by email · WhatsApp · LinkedIn · X/Twitter · Bluesky

Rewards:

  • 3 referrals unlock 50% off RocketSim Pro Yearly
  • 10 unlock Swift Concurrency Course access
  • 30 unlock RocketSim Pro Lifetime.

See your rewards and progress →

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

Antoine

SwiftLee Weekly by Antoine van der Lee

Swift Evolution updates, 5 top community articles covering Swift development topics.

Read more from SwiftLee Weekly by Antoine van der Lee

This week's SwiftLee Weekly covers: Dynamic Profiles in Apple Foundation Models StateReporter & MetricKit in iOS 27 What's new in Swift 6.4 Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST @StateObject vs. @ObservedObject: The differences explained The Observable framework makes these obsolete, but many projects still have old code using these property wrappers. Knowing their differences is important and also teaches you more on how SwiftUI works.avanderlee.com SPONSORED Turn Xcode...

This week's SwiftLee Weekly covers: ContentBuilder in SwiftUI Headless Xcode 27 MCP iOS 26' DataDetector Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Swift Testing explained with code examples Are you yet using Swift Testing? Apple continued to improve the framework and I barely touch XCTest anymore. Here's an update on all the latest.avanderlee.com SPONSORED Fastlane alternative - Codemagic CLI tools Are you tired of Ruby and Fastlane installation issues? There's got to be a...

This week's SwiftLee Weekly covers: Xcode 27’s new MCP server experience Sendable and @Sendable closures explained Adaptive toolbars and concentric buttons in SwiftUI Before we dive in: this weekend I revealed my next app. RocketTrace turns intimidating Instruments traces into a ranked list of performance findings, so you know what to fix instead of where to look. Early beta signups are open, and I'm inviting testers in small waves: join the waitlist here. Enjoy this week's SwiftLee Weekly!...