SwinjectStoryboard 容器解析不同的对象(实例)



我尝试过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 文档中了解有关对象范围的更多信息。

最新更新