Typhoon Swift Framework - 如何在初始化器中注入参数

Typhoon Swift Framework - How to inject parameters in initializers

使用 Swift 我应该能够使用其依赖项初始化服务,例如 RepositoryA 和 RepositoryB

假设服务应该是瞬态的,存储库是单例的

我能找到的只有这个:

https://github.com/appsquickly/Typhoon/wiki/Types-of-Injections#injection-with-run-time-arguments

但我缺少一个 swift 示例,用于服务的初始化程序和带有 initWithParameter 的容器,使用具有多个参数的初始化程序

有可用的代码吗?

要使用 Typhoon 执行初始化程序注入,请对用户指南中显示的示例使用等效的 Swift 代码。它看起来像这样:

public dynamic func citiesListController() -> AnyObject {

    return TyphoonDefinition.withClass(CitiesListViewController.self) {
        (definition) in

        definition.useInitializer("initWithCityDao:theme:") {
            (initializer) in

            initializer.injectParameterWith(self.coreComponents.cityDao())
            initializer.injectParameterWith(self.themeAssembly.currentTheme())
        }
    }

}

Typhoon Swift sample application 上面的代码是从中提取的,显示了更多的例子。