36 Results for: "codable"

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

WWDC Notes: Protect mutable state with Swift actors

Updated on: September 13, 2022

Data races make concurrency hard. They occur when two threads access the same data and at least one of them is a write. It’s trivial to write a data race, but it’s really hard to debug. Data races aren’t always clear, aren’t always reproducible, and might not always manifest in the same way. Shared mutable […]

Read post

JSON parsing in Swift with custom encoding and decoding logic

Updated on: July 4, 2025

The default behavior for Codable is often good enough, especially when you combine this with custom CodingKeys, it’s possible to encode and decode a wide variety of JSON data without any extra work. Unfortunately, there are a lot of situations where you’ll need to have even more control. The reasons for needing this control are […]

Read post

Building a concurrency-proof token refresh flow in Combine

Published on: November 9, 2020

Refreshing access tokens is a common task for many apps that use OAuth or other authentication mechanisms. No matter what your authentication mechanism is, your tokens will expire (eventually) and you’ll need to refresh them using a refresh token. Frameworks like RxSwift and Combine provide convenient ways to build pipelines that perform transformation after transformation […]

Read post

Building a simple remote configuration loader for your apps

Published on: October 26, 2020

Remote configuration is a common practice in almost every app I have worked on. Sometimes these configurations can be large and the implications of a configuration change can be far-reaching while other times a configuration is used to change the number of items shown in a list, or to enable or disable certain features. You […]

Read post

Refactoring a networking layer to use Combine

Updated on: February 10, 2020

In the past two weeks I have introduced you to Combine and I’ve shown you in detail how Publishers and Subscribers work in Combine. This week I want to take a more practical route and explore Combine in a real-world setting. A while ago, I published a post that explained how you can architect and […]

Read post

Understanding Combine’s publishers and subscribers

Published on: January 13, 2020

In my previous post about Combine, I introduced you to Functional Reactive Programming (FRP) and I’ve shown you can subscribe to Combine publishers using the sink(receiveCompletion:receiveValue:) method. I also showed you how you can transform the output of publishers using some of its built-in functions like map and collect. This week I want to focus […]

Read post

Swift’s typealias explained with five examples

Updated on: April 29, 2024

Swift grants developers the ability to shadow certain types with an alternative name using the typealias keyword. We can use this feature to create tuples and closures that look like types, or we can use them to provide alternative names for existing objects. In this post, we’ll look at five ways in which typealiases can […]

Read post

Fetching and displaying data from the network

Updated on: February 10, 2020

One of the topics that I could write dozens of posts on is networking. Making calls to a remote API to retrieve or persist data is something that is a key feature in many apps that are currently in the App Store. Some apps make extensive use of the network while others only need the […]

Read post

Expand your learning with my books

Practical Core Data header image

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

  • Twelve chapters worth of content.
  • Sample projects for both SwiftUI and UIKit.
  • Free updates for future iOS versions.

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

Learn more