Dark Mode was introduced in iOS 13 and announced at WWDC 2019. It adds a darker theme to iOS and allows you to do the same for your app. It’s a great addition to give to your users so they can experience your app in a darker design. In this blog post, I’ll share with … →
Core Data got better and better over the years with improved APIs that make it easier to work with. The Apple framework allows you to save your application’s permanent data for offline use, to provide undo functionality or to simply cache data for better performance. After implementing the basics into your app like using a … →
Auto Layout constraints allow us to create views that dynamically adjust to different size classes and positions. The constraints will make sure that your views adjust to any size changes without having to manually update frames or positions. Can you imagine a world without Auto Layout? We used to calculate frames ourselves or we used … →
Xcode 11 was introduced during WWDC 2019 and contained improvements in the way the assistant editor works. If you’re using a second editor a lot it can be quite frustrating at first when you try to use the same workflow in Xcode 11 when files are opened in the left editor while you expected them … →
Xcode breakpoints allow us to debug and find out solutions for nasty bugs. Without breakpoints, it would be a fun fest with a lot of print statements everywhere in your code. The basic principles of breakpoints we probably all know but there’s a lot more to discover! What are breakpoints in Xcode? A breakpoint can … →
Rich notifications on iOS allow us to make the boring default notification just a little nicer by adding images, GIFs, and buttons. Introduced in iOS 10 and enhanced in later OS updates it’s a feature that cannot miss when you support notifications in your app. Testing push notification on iOS Before we start implementing it’s … →
Swift brings us classes and structs which both can look quite similar. When should you use a struct and when should you go for a class? Cannot assign to property: function call returns immutable value You’re probably not the first to just simply fallback to changing your type to a class when an error like … →
Xcode Instruments is a developer tool that comes for free with Xcode. It has a lot of useful tools to inspect and improve your app. Although it has a lot to offer, it’s often an area which is a bit less known. In this blog post, I’ll show you how I’ve improved the performance in … →
Once you get started with Combine you’ll quickly run into error handling issues. Each Combine stream receives either a value or an error and unlike with frameworks like RxSwift you need to be specific about the expected error type. To be prepared on those cases I’ll go over the options available in Combine to catch, … →
An Array and a Set seem to be quite the same in the beginning. They’re both collection types and have quite a lot of similarities. Still, we’re often tempted to use Arrays instead of Sets. While this does not have to be a problem it could definitely be better to sometimes go for a Set … →