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

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

推荐答案

environmentObject()的调用返回一个(修改过的)视图,因此您可以通过调用将多个对象放入环境中.例子:

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

Swift相关问答推荐

JSON如何解码空对象

我可以为UIMenu设定一个固定的订单吗?

以编程方式使UIView居中,而不影响UIKit中其他UI类的位置

SwiftUI-如何使用剩余时间制作倒计时计时器

在SwiftUI中绘制形状的路径后填充形状

SwiftUI,如何更改具有多个按钮和一个布尔条件的一个按钮标签

本地对象的异步/等待引用捕获总是安全的还是理论上不安全?

是否可以利用 Codable 从 Dictionary 初始化符合类型

有没有一种方法可以访问封闭实例ObservableObject以从属性包装器中的任何位置调用objectWillChange.send()

Swift Combine:如何在保留发布者结果顺序的同时进行收集?

是否可以使用 .task 修饰符更新基于两个值的视图

您是否必须手动指定您的 DispatchQueue 是串行的?

如何 for each 用户制作一个单独的按钮,以便在按下它时切换 isFollowingUser Bool 并更改为关注?

SwiftUI Preview 不适用于 Core Data

如何更改任务栏 colored颜色 和 sf 符号 colored颜色 ?

如何使 SwiftUI Picker 换行文本

Swift 中的 PageViewController 当前页面索引

SwiftUI - 呈现工作表后导航栏按钮不可点击

用 UIBezierPath 画一条线

如何在 Swift 中使用 Crashlytics 登录?