Virtually every modern application needs some way to retrieve, and use, data from a remote source. This data is commonly fetched by making a network request to a webserver that returns data in a JSON format. When you’re working with Javascript, this JSON data can be easily decoded into a Javascript object. Javascript doesn’t have […]
Read post
Subscribe to my newsletter and never miss a post
Recent articles
Jump to a random postOften, you’ll want you Swift models to resemble JSON that’s produced by an external source, like a server, as closely as possible. However, there are times when the JSON you receive is nested several levels deep and you might not consider this appropriate or needed for your application. Or maybe you’re only interested in a […]
Read postPreventing unwanted fetches when using NSFetchedResultsController and fetchBatchSize
Published on: January 18, 2021This article covers a topic that is extensively covered in my Practical Core Data book. This book is intended to help you learn Core Data from scratch using modern techniques and every chapter features sample apps in SwiftUI as well as UIKit whenever this is relevant. When you use Core Data in a UIKit or […]
Read postWhat does “atomic” mean in programming?
Published on: January 6, 2021When you’re learning about databases or multithreaded programming, it’s likely that you’ll come across the term "atomic" at some point. Usually you’ll hear the term in the context of an operation. For example, an atomic read / write operation. Or atomic access to a property. But what does this mean? Generally, you can summarize atomic […]
Read post10 things iOS developers should focus on in 2021
Published on: January 4, 2021I know. This is a clickbaity title. And yes, I know that this list is not relevant for everybody. I know that not every iOS developer has to learn everything on this list. That said, this list is a list of technologies and skills that I think are either already important, or becoming increasingly important […]
Read postObserving the result of saving a background managed object context with Combine
Published on: December 7, 2020I love posts where I get to put write about two of my favorite frameworks at the moment; Combine and Core Data. When you’re working with Core Data, it’s common to perform save operations asynchronously using a background context. You could even perform an asynchronous save on the main managed object context. Consider the following […]
Read postResponding to changes in a managed object context
Published on: November 23, 2020Working with multiple managed object contexts will often involve responding to changes that were made in one context to update another context. You might not even want to update another context but reload your UI or perform some other kind of update. Maybe you want to do this when a specific context updates, or maybe […]
Read postBuilding a concurrency-proof token refresh flow in Combine
Published on: November 9, 2020Refreshing 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 postBuilding a simple remote configuration loader for your apps
Published on: October 26, 2020Remote 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 postFormatting dates in the user’s locale using DateFormatter in Swift
Published on: October 15, 2020Working with dates is hard, there is no doubt about that. And formatting dates properly for every user of your app is no easier (if you want to do everything manually). Luckily, the system can help us. For example, in the US one would write "October 15" while in The Netherlands we write 15 oktober. […]
Read postExpand your learning with my books

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