Swinject
Dependency injection framework for Swift with iOS/macOS/Linux
...Dependency injection (DI) is a software design pattern that implements Inversion of Control (IoC) for resolving dependencies. In the pattern, Swinject helps your app split into loosely-coupled components, which can be developed, tested, and maintained more easily. Swinject is powered by the Swift generic type system and first-class functions to define the dependencies of your app simply and fluently. Services must be registered to a container before they are used. The typical registration approach will differ depending on whether you are using SwinjectStoryboard or not.