我尝试过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的不同对象(实例(。
提前谢谢你!
您需要将
SomeClass
的注册更改为:
defaultContainer.register(SomeClass.self) { _ in SomeClass() }
.inObjectScope(.container)
您可以在 Swinject 文档中了解有关对象范围的更多信息。