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

时间:2015-04-06 22:04:24

标签: swift typhoon

使用Swift我应该能够初始化一个具有依赖关系的服务,例如RepositoryA和RepositoryB

假设服务应该是暂时的,存储库是单例

我能找到的就是:

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

但我错过了服务初始化的快速示例以及使用具有多个参数的初始化程序的initWithParameter容器

任何可用的代码?

1 个答案:

答案 0 :(得分:0)

要使用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显示了更多示例。