微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用依赖注入 (Swinject) 在 MVVM-C 中的 ViewModel 之间传递对象

如何解决使用依赖注入 (Swinject) 在 MVVM-C 中的 ViewModel 之间传递对象

我是 DependencyInjectionswinject 的新手,因此我有疑问。

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

正如我对 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 注入到 { {1}} 在编译时。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。