Recently I wanted to build a generic data source layer. This data source would be able to return pretty much anything from a local cache, or if the local cache doesn’t contain the requested object, it would fetch the object from a server and then cache the result locally before returning it to me. To […]
Read post
Subscribe to my newsletter and never miss a post
Recent articles
Jump to a random postWhen you create a new project in Xcode 11, you automatically get the new SceneDelegate for free. This is great if you want to build an app that’s for iOS 13 and newer but as soon as you change your deployment target to an iOS version that’s lower than iOS 13, your app will have […]
Read postWe all want to write good, beautiful and stable code. This includes preventing memory leaks, which we can, using [weak self] when writing a closure that needs access to self. But what’s the real reason for needing this weak capture? And do we need it all the time? In this week’s Quick Tip, I want […]
Read postNow that Apple has split iPadOS into a separate OS, and launched Catalyst to enable developers to compile their iPad apps for the Mac, there’s a whole new multi-window paradigm we must understand and cater for. Up until this year, we only had to worry about a single window for our iOS applications. This meant […]
Read postOne of those tasks that always throws me off balance is building a form that allows users to upload a form with a picture attached to it. I know that it involves configuring my request to be multipart, that I need to attach the picture as data and there’s something involved with setting a content […]
Read postWhen you create a new project in Xcode 11, you might notice something that you haven’t seen before. Instead of only creating an AppDelegate.swift file, a ViewController.swift, a storyboard and some other files, Xcode now creates a new file for you; the SceneDelegate.swift file. If you’ve never seen this file before, it might be quite […]
Read postmap, flatMap, compactMap… how to decide? In this post you’ll learn about differences and similarities that can make it tricky to decide which one fits your use case best.
Read postModern applications often rely on data from a network connection to work as intended. Sometimes they rely heavily on the network and are almost worthless without an internet connection while other apps can function mostly fine without a network connection. What these apps have in common is that they contain code that might be challenging […]
Read postFor loops are an incredibly useful feature in the Swift language. In this post, you’ll learn everything there is to know about for loops. This includes more obscure techniques like naming your loops.
Read postWe all love the idea of getting loads of App Reviews, preferably with five stars and a description that explains why our apps are amazing. Unfortunately, users often don’t take the time to reviews the apps they enjoy. Instead, users will review your app when they’re unhappy. If something about your app doesn’t please them […]
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. 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