Category Archives: Architecture

Design Patterns in Swift: Observer

      No Comments on Design Patterns in Swift: Observer

Continuing on our journey with design patterns, this week we’ll visit the observer pattern. This is a really simple pattern to implement. We’ll quickly go through some theory and get down to business. Hopefully, by the end of the article, you’ll be using the pattern in your projects. The Observer… Read more »

Design Patterns in Swift: Abstract Factory

      No Comments on Design Patterns in Swift: Abstract Factory

Abstract factory is one of the creational design patterns. You probably encountered it in your development without realising. Here we’ll cover the swift version of the text-book version of the design pattern and say a few words about the dependency inversion principle. Abstract Factory We’re all taught to code to… Read more »

DispatchGroup vs. OperationQueue in Swift

You probably found yourself in a situation where you had to do a bunch of asynchronous tasks and you just wanted to get notified when all of them finish. There are two easy ways of doing this: DispatchGroup and OperationQueue. We’ll cover them both in this post. The Story We’ll… Read more »

Sharing Data Between Applications and Extensions Using App Groups

If you ever needed to share data between your iOS apps and/or your application targets, there’s a very easy way to do this using app groups. In this post we’ll see how to share data between two apps and we’ll even build a small library that will make sharing of… Read more »

Understanding Operation and OperationQueue in Swift

There are more ways than one to do concurrent operations on iOS. In this article, we’ll cover how to use Operations and OperationQueue to execute concurrent operations. There’s a lot to be said (and written) about concurrency on iOS and I don’t really want to bore you to death by… Read more »

Dependency Managers: Carthage

      No Comments on Dependency Managers: Carthage

Carthage is a decentralised dependency manager for iOS/OSX. In this post, we’ll see how you can declare your project Carthage compatible and how to use Carthage in your projects. Carthage vs Cocoapods Carthage is a decentralised dependency manager. What this means is that, unlike Cocoapods, it does not rely on… Read more »