35 Results for: "codable"

What is @concurrent in Swift 6.2?

Updated on: July 7, 2025

Swift 6.2 makes significant changes to concurrency, and because of that we have to understand a brand new mechanism to offload work to a background thread in Swift 6.2. Learn everything you need to know about @concurrent and nonisolated(unsafe). You’ll also find out why I’m pretty happy with these changes even though they require us to relearn certain concurrency concepts.

Read post

Why you should keep your git commits small and meaningful

Published on: February 19, 2025

When you’re using Git for version control, you’re already doing something great for your codebase: maintaining a clear history of changes at every point in time. This helps you rewind to a stable state, track how your code has evolved, and experiment with new ideas without fully committing to them right away. However, for many […]

Read post

Modern logging with the OSLog framework in Swift

Published on: June 7, 2024

We all know that print is the most ubiquitous and useful debugging tool in a developer’s toolbox. Sure, we have breakpoints too but what’s the fun in that? Sprinkling some prints throughout our codebase to debug a problem is way more fun! And of course when we print more than we can handle we just […]

Read post

What are enums in Swift?

Published on: May 8, 2024

Swift comes with types of objects that we can use to write type declarations. They all have their own distinct features, upsides, and downsides. In this post I’d like to zoom in on the enum type so you can get a sense of what enums are, and when they can be useful. In this post […]

Read post

Building a backend-driven paywall with RevenueCat

Updated on: April 23, 2024

On of app development’s largest downsides (in my opinion) is that it’s frustratingly hard for developers to quickly iterate on an app’s core features due to the App Review process which can take anywhere between a few hours to a few days. As a result of this process, developers either need to ship their apps […]

Read post

Using closures for dependencies instead of protocols

Updated on: April 23, 2024

It’s common for developers to leverage protocols as a means to model and abstract dependencies. Usually this works perfectly well and there’s really no reason to try and pretend that there’s any issue with this approach that warrants an immediate switch to something else. However, protocols are not the only way that we can model […]

Read post

Building a token refresh flow using async await in Swift

Updated on: July 4, 2025

One of my favorite concurrency problems to solve is building concurrency-proof token refresh flows. Refreshing authentication tokens is something that a lot of us deal with regularly, and doing it correctly can be a pretty challenging task. Especially when you want to make sure you only issue a single token refresh request even if multiple […]

Read post

What are Swift Concurrency’s task local values?

Updated on: August 26, 2024

If you’ve been following along with Swift Concurrency in the past few weeks, you might have come across the term "task local values". Task local values are, like the name suggests, values that are scoped to a certain task. These values are only available within the context they’re scoped to, and they are really only […]

Read post

Expand your learning with my books

Practical Swift Concurrency header image

Learn everything you need to know about Swift Concurrency and how you can use it in your projects with Practical Swift Concurrency. It contains:

  • Eleven chapters worth of content.
  • Sample projects that use the code shown in the chapters.
  • Free updates for future iOS versions.

The book is available as a digital download for just $39.99!

Learn more