• Using Swift’s concurrency system to run multiple tasks in parallel

    One of the benefits of Swift’s built-in concurrency system is that it makes it much easier to perform multiple, asynchronous tasks in parallel, which in turn can enable us to significantly speed up operations that can be broken down into separate parts. In this article, let’s take a look at a few different ways to…

    Read More

  • Podcast: “Concurrency and Swift-DocC”, with special guest Marin Todorov

    Marin Todorov returns to the podcast to discuss Swift’s new concurrency system and its newly announced backward compatibility, his new book about that topic, and his work on Apple’s open source documentation tool, Swift-DocC. Sponsors Quickly checking out either of the following two sponsors is a great way to help support this podcast, if you…

    Read More

  • Building async and concurrent versions of forEach and map

    If we think about it, so much of the code that we write on a daily basis essentially consists of a series of data transformations. We take data in one shape or form — whether that’s actual model data, network responses, or things like user input or other events — we then run our logic…

    Read More

  • Making async system APIs backward compatible

    Although Swift 5.5’s new concurrency system is becoming backward compatible in Xcode 13.2, some of the built-in system APIs that make use of these new concurrency features are still only available on iOS 15, macOS Monterey, and the rest of Apple’s 2021 operating systems. For example, if we try to use the new async/await-favored version…

    Read More

  • Building editable lists with SwiftUI

    To say that SwiftUI’s List is the equivalent of UIKit’s UITableView is both true and false at the same time. It’s definitely true that List offers a built-in way to construct list-based UIs that are rendered using the same overall appearance as when using UITableView — however, when it comes to mutations, we instead have…

    Read More

  • Specialized extensions using generic type constraints

    Combining Swift’s powerful generics system with the fact that any Swift type can be extended with new APIs and capabilities enables us to write targeted extensions that conditionally add new features to a type or protocol when it fits certain requirements. It all starts with the where keyword, which lets us apply generic type constraints…

    Read More

  • New Discover page: Generics

    Learn how to fully utilize Swift’s powerful generics system to write reusable types, functions, extensions, and protocols. → Check it out

    Read More