呈现工作表时,EnvironmentObject不起作用

时间:2019-11-30 04:58:09

标签: core-data swiftui environment

我有一个具有managedObjectContext(环境变量)的视图。当在带有NavigationLink的NavigationView中显示时,它工作正常。但是,当视图以表格形式显示时,它不起作用。 保存某些实体数据时出现错误。

“操作无法完成。(Foundation._GenericObjCError错误0。)”

使用环境对象时是否缺少任何内容。我的代码

let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext 

@Environment(\.managedObjectContext) var managedObjectContext

1 个答案:

答案 0 :(得分:2)

工作表不是ContentView的子组件。

因此,您必须将此环境分别传递给工作表:

.sheet(isPresented: self.$isPresented, content: MySheetView().environment(\.self.moc)

其中moc在启动工作表的视图中定义为:

@Environment(\.managedObjectContext) var moc