Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

SwiftLee 2019 in review: Top Swift Development blog posts

You know it's been a great year if you have the feeling that it went really fast. After looking back on 2018 last year it's now time to do the same for 2019 and look ahead at what 2020 will bring. I'm amazed by the support throughout the year. I've ...
Swift

Advanced asynchronous operations by making use of generics

Asynchronous operations allow you to write long-running tasks in a distinct matter while being able to add dependencies between several tasks. Progress can be tracked, and dispatching is made easy by making use of the OperationQueue. By adding generics and the Swift result type, we can get even more out ...
Swift

Asynchronous operations for writing concurrent solutions in Swift

Asynchronous operations allow executing long-running tasks without having to block the calling thread until the execution completes. It's a great way to create separation of concern, especially in combination with creating dependencies in-between operations. If you're new to operations, I encourage you first to read my blog post Getting started ...
Swift

Getting started with Operations and OperationQueues in Swift

Operations in Swift are a powerful way to separate responsibilities over several classes while keeping track of progress and dependencies. They're formally known as NSOperations and used in combination with the OperationQueue. Make sure first to read my article on concurrency in Swift, so you know the basics of queues ...
Swift

Concurrent vs Serial DispatchQueue: Concurrency in Swift explained

Concurrent and Serial queues help us to manage how we execute tasks and help to make our applications run faster, more efficiently, and with improved responsiveness. We can create queues easily using the DispatchQueue class which is built on top of the Grand Central Dispatch (GCD) queue. The benefit of ...
Swift

Dark Mode: Adding support to your app in Swift

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 ...
SwiftXcode

Core Data and App extensions: Sharing a single database

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 ...
Core DataSwift

Auto Layout in Swift: Writing constraints programmatically

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 ...
Swift

Rich notifications on iOS explained in Swift

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 ...
Swift

Struct vs classes in Swift: The differences explained

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 ...
Swift

Error handling in Combine explained with code examples

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 ...
CombineSwift

Array vs Set: Fundamentals in Swift explained

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 ...
Swift