我正在开发一个私人pod,目前我在使用Typhoon将属性注入bootstrap类时遇到了一些困难。
我的课程:
public class MyLibrary: NSObject {
var dependency: MyDependencyProtocol?
}
我的集会:
open class MyLibraryAssembly: TyphoonAssembly {
open dynamic func lib() -> Any
{
return TyphoonDefinition.withClass(MyLibrary.self) { (definition) in
definition?.injectProperty(#selector(getter: MyLibrary.dependency), with: self.dependency())
definition?.scope = .singleton
}
}
}
但是,消费者应用程序将使用 var lib = MyLibrary()来初始化对象,而不是使用依赖注入。在调用init时,如何将依赖项注入MyLibrary类?
答案 0 :(得分:1)
最好在MyLibrary
类中定义一个类方法,以返回MyLibrary
类的构建实例。这种方法会:
示例:MyLibrary.instance()
或MyLibrary.instanceWithConfig(someConfig)
。