The Combine framework. Silently introduced, yet hugely important for iOS. It didn’t get any attention during the big Keynote at WWDC 2019, but as soon as folks were in the sessions they knew that Combine was going to be huge. It implements a Functional Reactive Programming (FRP) paradigm that’s similar to that of Rx which […]
Read post
Subscribe to my newsletter and never miss a post
Recent articles
Jump to a random postSwift 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 postYou can reverse an Array, and any other Collection in Swift using the reverse method. For example var input = [1, 2, 3] print(input) // [1, 2, 3] input.reverse() print(input) // [3, 2, 1] The code above takes an array (input) and reverses it in-place using the reverse() method. This only works if your array […]
Read postIt’s the end of the year, and that means that we should all take a little bit of time to reflect on the past year. Some people like to reflect on their past year in a very statistical manner, they set measurable goals and they decide whether they met their goals at the end of […]
Read postYou’ve done all the work to build your app, your UI looks amazing, animations are smooth and you’re ready to put your app in the hands of other people. Maybe you’re even ready to start offering your app on the App Store! This is a huge achievement if you are currently at this stage in […]
Read postFor years I have had a bit of a love and hate relationship with Storyboards. I love how easy they make it for me to set up my AutoLayout constraints, but they can quickly grow unwieldy and for large projects with multiple developers Storyboards are hard to use because of merge conflicts that occur when […]
Read postUsing compositional collection view layouts in iOS 13
Published on: December 22, 2019Ever since iOS 6, developers have been able to use collection views and to build interesting custom layouts by subclassing the UICollectionViewLayout or UICollectionViewFlowLayout classes. I even wrote an article about building custom collection view layouts a while ago. Today, I would like to introduce you to a new way of defining collection view layouts […]
Read postAt WWDC 2019 Apple announced a couple of really cool features for table views and collection views. One of these cool features comes in the form of UITableViewDiffableDataSource and its counterpart UICollectionViewDiffableDataSource. These new diffable data source classes allow us to define data sources for collection- and table views in terms of snapshots that represent […]
Read postOne 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 postBoth networking and protocols are topics that I could write dozens of posts on, and I would still have more ideas and examples left in my head. In today’s article, I would like to combine the topics of networking and protocols and explain how you can design a robust networking layer for your app, that’s […]
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