SwiftLee Weekly - Issue 260


This week's SwiftLee Weekly covers:

  • Conference ticket giveaway
  • Task.yield vs. Task.sleep
  • What is a good course price?

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

Task.sleep() vs. Task.yield(): The differences explained

I've used both methods in my code, but sleep has always been easier to understand than Task.yield(). It's time to dive into the differences and showcase a few examples.

SPONSORED

Codemagic makes Apple M2 machines available, even on the free tier!

Codemagic is the first CI/CD to make Apple M2 machines available to everyone (including the free tier!). This is a free upgrade from M1 machines with no price change. Get started today.

CURATED FROM THE COMMUNITY

Tapping on Stack Views

If you’re building many apps in SwiftUI, you’ve been looking for the solution described in this article at least once. Since I know it exists, it helped me out multiple times.
useyourloaf.com

Quick guide on home screen quick actions for SwiftUI

Home screen quick actions can be a great way to capture users before they uninstall your apps, but also to provide shortcuts to valuable features. Natascha Fadeeva describes how it works.
tanaschita.com

New Concurrency Stuff with 6.1

As you know from the Swift Evolution section in this newsletter, Swift Concurrency is still greatly improved. A few improvements were made to Swift 6.1, and Matt takes you through them.
massicotte.org

Advice I Wish I Had Gotten Earlier

I encounter articles like this every week when curating this newsletter, but I’ve never seen so many points that resonate with my growth path. It’s a must-read if you’re looking to improve yourself.
manu.show

How Swift's server support powers Things Cloud

I’ve been using Swift on the server for RocketSim for Teams for a while now, and it’s been such a pleasure writing and maintaining a backend in Swift. Code reusability, but also focusing on a single language. The team behind Things did the same and shared their story.
swift.org

Monthly giveaway

Win a free ticket for AppDevCon in Amsterdam

Win a ticket for the AppDevCon Conference, a conference taking place from March 18–21, 2025, in Amsterdam, The Netherlands.

I'll speak about Swift Concurrency, among many other great speakers distributed across 8 (!!) tracks.

Join the free giveaway

The winner will be announced in SwiftLee Weekly 261 (March 4th)

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

Expressible Literals in Swift

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

QUESTION OF THE WEEK

What do you think is a good price for a course?
Anonymous

As you might know I've recently started working on a new course on Swift Concurrency and Swift 6 (feel free to join the waitlist). One of the questions I started discussing was about a proper price for courses.

If you're looking for a proper pricing for a new product, you can use several research strategies. One of them is the Van Westendorp Pricing Model. You basically ask four questions:

  1. At what price would it be so low that you start to question this product’s quality?
  2. At what price do you think this product is starting to be a bargain?
  3. At what price does this product begin to seem expensive?
  4. At what price is this product too expensive?

You can use the responses to create a line chart and find the optimal pricing for your new product.

I started a similar survey for my new course, and would love your input. It's directly an opportunity for you to experience such pricing model research:

Fill in the Van Westendorp course pricing model survey

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

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: Rendering Pixel Art in SwiftUI .animation() vs. withAnimation() An @Observable performance risk Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Picker in SwiftUI explained with code examples While AI greatly helps us, I always look for a quick visual overview of different SwiftUI element styles. This is why I'm writing about pickers in SwiftUI this week: to give a visual overview of the different available styles that I can revisit myself....

This week's SwiftLee Weekly covers: Structured Concurrency? SwiftUI Animations Threading in Swift Concurrency Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST What is Structured Concurrency? I'm working hard on my Swift Concurrency Course, and AppDevCon talk on concurrency. While Swift Concurrency can be daunting, it's often because we don't fully understand the foundational concept. A part of this is understanding what Structured Concurrency really means and how it helps us write...

This week's SwiftLee Weekly covers: Swift 6 ScrollTargetBehavior protocol A major milestone for RocketSim Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Swift 6: What’s New and How to Migrate The release of Swift 6 caused quite some discussion for those migrating their projects. I've seen several conference talks with slides showing hundreds of warnings and compiler errors after initially switching to Swift 6 language mode. It's time to help you get started with the migration after...