SwiftUI:将多个BindableObjects放入环境

时间:2019-06-21 08:15:04

标签: ios swift dependency-injection swiftui

SwiftUI中,可以使用View对象的environmentObject方法将单个BindableObject放入环境中。

如果我想同时将多个BindableObjects放入环境中怎么办?我在SwiftUI文档中没有找到任何解决方案。我不想在构造函数中传递对象。

2 个答案:

答案 0 :(得分:4)

environmentObject()的调用返回一个(修改的)视图,因此您可以链接调用以将多个对象放入环境。示例:

 let rootView = ContentView()
     .environmentObject(firstBindable)
     .environmentObject(secondBindable)

答案 1 :(得分:-2)

根据Apple官方指南,我猜测每个视图是否只有一个环境对象,那么这样做就可以了。当碰巧不止一个时,我不确定如何引用该对象。