Software Dev

Using Type Erasure to Build a Dependency Injecting Routing Framework in Swift

This post is just as weird and abstract as it sounds. ๐Ÿคฏ On first pass, I don’t get it. But I’m saving it here because I always like anything that promises easier dependency injection.

We’ll take an exciting look at how the treatment of methods/closures as properties can be used in this context to bypass one of the Swift Compiler’s most annoying compilation errors.

๐Ÿ‘‰ Using Type Erasure to Build a Dependency Injecting Routing Framework in Swift

Type Erasure is the process of abstracting constrained, generic types inside an unconstrained non-generic type that can be passed around freely

Via iOS Dev Weekly.

Software Dev

DI with Interface Builder

In this dated but thorough Objective-C dependency injection article is a reference to a rather old article asserting that Xcode’s Interface Builder is their “favorite di framework of all time”.

๐Ÿ‘‰ Dependency Inversion Principle and iPhone

I keep feeling frustrated by the added complexity and extra code involved in dependency injection. It can make simple code complex very quickly. So I really love the idea here, which is that Xcode is perfect for DI because it lets you literally just wire up things visually with no extra code. It goes on to make the case for using Interface Builder to wire up more than just UI elements and use it for just about anything.

Whatโ€™s great about it is that it doesnโ€™t just generate a bunch of code, but instead โ€œfreeze driesโ€ real objects to be instantiated when the program loads.

This article is so old that the images don’t load, but I love the ideas and the reminder that DI does not have to involve a bunch of extra code. Thanks to iOS Dev Weekly for the initial link. ๐Ÿ‘†