1

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

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

我能找到的只有这个:

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

但是我缺少服务初始化程序的快速示例,以及使用具有多个参数的初始化程序的带有 initWithParameter 的容器

有可用的代码吗?

4

1 回答 1

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 示例应用程序,上面的代码是从中提取的,它显示了更多的例子。

于 2015-04-06T23:35:43.750 回答