我尝试过Swinject(SwinjectStoryboard)并遇到了问题。请帮我。
extension SwinjectStoryboard {
@objc class func setup() {
defaultContainer.register(SomeClass.self) { _ in
SomeClass()
}
defaultContainer.storyboardInitCompleted(FirstViewController.self) { r, c in
c.someClass = r.resolve(SomeClass.self)
}
defaultContainer.storyboardInitCompleted(SecondViewController.self) { r, c in
c.someClass = r.resolve(SomeClass.self)
}
}
}
添加依赖项后,我在FirstViewController和SecondViewController中有SomeClass的不同对象(实例)。
提前谢谢!
答案 0 :(得分:1)
您需要将SomeClass
的注册更改为:
defaultContainer.register(SomeClass.self) { _ in SomeClass() }
.inObjectScope(.container)
您可以在Swinject docs中了解有关对象范围的更多信息。