我正在尝试使用外部注入器解决Swift中的依赖关系:
class DependencyInjector {
var networkManager:NetworkQueueManager
protocol InjectorDelegateNetworkQueue{
var networkManager:NetworkQueueManager {get set}
}
func injectDependencies(object:AnyObject){
if object is InjectorDelegateNetworkQueue{
object.networkManager = networkManager
}
}
}
显然,由于AnyObject
没有名为networkManager
的属性,只有转换对象有一个属性,因此无法工作。
我的意思是通过调用
DependencyInjector.sharedInstance().injectDependencies(self)
如何在Swift中使用它?
答案 0 :(得分:0)
可能会像:
func injectDependencies(object:AnyObject){
var thing:InjectorDelegateNetworkQueue? = object as? InjectorDelegateNetworkQueue
if thing {
thing.networkManager = networkManager
}
}
答案 1 :(得分:0)
将你的功能改为此。
func injectDependencies(object:AnyObject){
if object is InjectorDelegateNetworkQueue{
(object as InjectorDelegateNetworkQueue).networkManager = networkManager
}
}