The Swift team has recently released Swift 5.1. This version of the Swift language contains many cool features like Function Builders that are used for SwiftUI and Property Wrappers that can be used to add extra functionality to properties. This release also contains a feature called Module Stability. But what is this feature? And what […]
Read post
Subscribe to my newsletter and never miss a post
Recent articles
Jump to a random postMany applications work with data, often they are built to retrieve data and display this data to the user in a table view, collection view, list (if you’re using SwiftUI) or a different kind of component. It’s not uncommon for this data to change and when it does you might be interested in figuring out […]
Read postIn part 1 of this two-part blog post, you’ve learned how to write synchronous unit tests for a login view model. As a reminder, you saw how to implement tests for the following requirements: When both login fields are empty, pressing the login button should trigger an error that informs the user that both fields […]
Read postRecently, I ran a poll on Twitter and discovered that a lot of people are not sure how to get started writing tests, or they struggle to get time approved to write tests for their code. In this blogpost, I will take you through some of the first steps you can take to start writing […]
Read postTogether with iOS 13, Apple announced a new feature called Low Data Mode. This feature allows users to limit the amount of data that’s used by apps on their phone. The low data mode setting is available in the settings app. Whenever a user is on a slow network, a very busy network or on […]
Read postSpend less time maintaining your test suite by using the Builder Pattern
Updated on: February 10, 2020Often when we write code, we have to initialize objects. Sometimes the object’s initializer doesn’t take any arguments and a simple let object = MyObject() call suffices to create your object, other times things aren’t so simple and you need to supply multiple arguments to an object’s initializer. If you have read my previous post, […]
Read postIf you’re into writing clean, testable and maintainable code you must have come across the term “Dependency Injection” at some point. If you’re not sure what dependency injection is, that’s okay. I will explain it briefly so we’re all on the same page before we get to the main point of this post. Dependency Injection […]
Read postIt’s been almost two years since I blogged on this page. I know, two years is a long break for a person that claims to love “Writing about my everyday coding problems and solutions”. Well, there is a very valid reason for my absence because I have been working on a book! Two actually, but […]
Read postEvery iOS developer I know dreams of writing code that’s DRY, modular, testable and reusable. While this is a great goal to strive for it’s often quite hard to write code that is completely modular. It just takes one oversight to blow most of the modularity you have achieved right out the window. One technique […]
Read postOn a Tuesday almost two months ago, near the end of april, me and my coworkers received an email about an important meeting the next. We knew that something was going on, the look and feel of this email wasn’t the same as usual. This one seemed a bit darker, a bit more serious. On […]
Read postExpand your learning with my books

Learn everything you need to know about Swift Concurrency and how you can use it in your projects with Practical Swift Concurrency the video course. It contains:
- About ten hours worth of videos and exercises
- Sample projects that use the code shown in the videos.
- FREE access to the Practical Swift Concurrency book
- Free updates for future iOS and Swift versions.
The course is available on Teachable for just $89
Enroll now