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

Swift SwinjectStoryboard容器解析不同的对象(实例),swift,dependency-injection,swinject,Swift,Dependency Injection,Swinject,我试过Swinject(SwinjectStoryboard),但遇到了一个问题。请帮帮我 extension SwinjectStoryboard { @objc class func setup() { defaultContainer.register(SomeClass.self) { _ in SomeClass() } defaultContainer.storyboardInitCompleted(FirstVi

我试过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)

您可以在中了解有关对象作用域的更多信息。

您需要将
SomeClass
的注册更改为:

defaultContainer.register(SomeClass.self) { _ in SomeClass() }
    .inObjectScope(.container)
您可以在中了解有关对象作用域的更多信息