我构造了一个绑定到自定义视图的BindableObject。
我想更新此类中的项目数组
// in my vm:
class ViewModel {
func fetched() {
listView.listData.items = viewModel.listItems
}
}
final class ListData: BindableObject {
var didChange = PassthroughSubject<ListData, Never>()
var items: [ListItem] = [] {
didSet {
didChange.send(self)
}
}
}
我有一个viewModel可以在其中进行提取,因为我不想不必将服务注入此ListData类。这是因为我不希望将其保留在视图模型中。
但是当我尝试更新VM中的ListData.Items时,出现此错误: 在View.body外部读取EnvironmentObject:文件
只允许您在此新视图类的主体内部更新此变量吗?在那种情况下,您是否想在BindableObject中做所有网络工作?
尚未找到有关此最佳实践的任何文档。