SwiftLee Weekly - Issue 254


This week's SwiftLee Weekly covers:

  • SwiftUI Navigation Patterns
  • Will AI replace app developers?
  • Building crash-free apps

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

SwiftUI Lists: Present rows of data explained with code examples

Many of the apps built using SwiftUI use lists in some way. You can add sections, selection, or use different list styles. This week's article shows an overview of possibilities, including one modifier you must apply to use a custom list background.

SPONSORED

Build Crash-Free iOS Apps

Deliver a seamless user experience by monitoring app start times, crash-free rates, and ANRs. Learn how to optimize performance to retain users and prevent churn by downloading this eBook.

CURATED FROM THE COMMUNITY

iPhone Apps 101 - SwiftUI App Development Course

This brand new course by Paul Solt teaches you how to build a SwiftUI app using REST APIs and seeks to let you even publish the app into the App Store.

For transparency, Paul shared the course with me and added me as an affiliate.
paulsolt.teachable.com

SwiftUI Navigation using the Router Pattern

SwiftUI Navigation remains a popular discussion topic. I loved the simplicity of both this article and the solution described by Tiago Henriques. While you’re at it, you might also want to read his Coordinator Pattern article.
tiagohenriques.vercel.app

Handle plurals in SwiftUI Text views with inflection

I really wish there was an easier way to find out about these SwiftUI functionalities. This inflection method makes it easy to deal with plural(s) in SwiftUI.
nilcoalescing.com

Using withObservationTracking to monitor changes in @Observable properties outside SwiftUI views

What if you want to observe an @Observable outside of a SwiftUI View? Pol Piella describes how you can do this.
polpiella.dev

Creating a debounced search context for performant SwiftUI searches

The first thing to consider when implementing a search view is dealing with rapid character input updates. Daniel Saidi describes how to do this in SwiftUI using a debounce strategy.
danielsaidi.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.

CODE SNIPPET OF THE WEEK

@discardableResult in Swift

You can find this post on Twitter/X, LinkedIn, or Bluesky.

twitter profile avatar
Antoine v.d. SwiftLee 
Twitter Logo
@twannl
12:54 PM • Jan 13, 2025
5
Retweets
23
Likes

QUESTION OF THE WEEK

Will AI replace app developers in the future?
Anonymous

One of the most trending AI topics: will it replace my job?

The same question can be asked of us as app developers. AI is moving fast, results improve quickly, and many engineers have started adopting tools like ChatGPT or Cursor AI.

While predicting the future is always hard, I think it's fair to say AI already plays an essential role in development today. While it's not able to take control over app development completely, it already helps developers build apps faster.

This article from The Pragmatic Engineer resonated a lot with me. In fact, I truly believe that experienced engineers who know how to optimize development using AI will have the most value in the future.

AI can get you to 70% of what you need, but without the skills to optimize the output, getting a high-quality app into the App Store will be hard. Let alone thinking about great UX!

If you’re still worried that AI might replace your job, try shifting your perspective to the opportunities it creates. During the gold rush, it wasn’t just the miners striking gold who found wealth—those who supported them by offering services like laundry or security also became incredibly successful.

So, what role can you play in the AI gold rush?

Want to have your question answered next week? Ask your question via this form (anonymously) or reply to this email with your question.

EARN ROCKETSIM LIFETIME

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

Shout-out to S. Magnus and Axel, who introduced 50+ subscribers to my newsletter. Thanks a lot, and enjoy the rewards!

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: Notable WWDC changes Automatic observation tracking for UIKit What is it like to visit WWDC? Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST @concurrent explained with code examples One of my favorite announcements of this week is all the concurrency changes. One of the new attributes you'll need in Swift 6.2 is the @concurrent attribute, which I'll explain in this week's article. SPONSORED Capture, Debug, and Optimize Your HTTP(s) Traffic in One...

This week's SwiftLee Weekly covers: Microapps architecture Private APIs for hidden UIKit views SwiftUI tracing using Macros Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Unique values in Swift: Removing duplicates from an array Removing duplicates from an array can quickly become a performance challenge when your array has thousands of items. In this week's article, we discuss performant options to efficiently get unique values, including an extension to filter by a specific...

This week's SwiftLee Weekly covers: Build apps without Xcode or xcodebuild Camera support for Xcode's Simulator An App Store Connect feature you need to enable Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Billing Grace Period Explained: How It Works and Why It Matters During a workshop with Apple last week, I discovered several optimizations for my apps. One of them is a feature that's disabled by default, but that can reduce churn and retain more revenue: Billing Grace Period....