0

我是新手,DependencyInjection因此Swinject我有疑问。

假设我们有一个PersonList带有Person对象列表的 ViewModel。我们选择其中一个Person并将其传递给PersonDetails它,PersonDetails(person:Person)基本上我们Person从第一个 ViewModel 中选择一个并将其传递给Person将显示详细信息的第二个 ViewModel。

正如我所了解的那样,Swinject我们将在编译时注入依赖项,例如

let container = Container()
container.register(Person.self) { _ in Person(name: "Someone") }
container.register(PersonDetails.self) { r in PersonDetails(person: r.resolve(Person.self))}

我的问题是我们在编译时没有信息来知道Person将选择哪种类型,PersonList所以我们如何在编译时注入正确选择Person的内容PersonDetails

4

0 回答 0