从 SwiftUI 中保存核心数据失败

Mic*_*mon 6 core-data swiftui

我正在开发一个将 Core Data 与 SwiftUI 相结合的应用程序。一切都很顺利,直到我将更新代码放入工作表中,之后我得到了一个“Foundation._GenericObjCError”错误 0 我相信这意味着没有错误,但我的持久容器仍然没有得到更新。

这种组合是一个已知问题吗?

我用来将条目添加到我的 Store 条目的代码:

struct StoreAdd: View {
    @Environment(\.managedObjectContext)
    var managedObjectContext

    @State
    var name = ""
    @State
    var branch = ""

    var body: some View {
        VStack {
            TextField("Store name", text: $name)
            TextField("Store branch", text: $branch)
            Button(
                action: {
                    let store = Store(context: self.managedObjectContext)
                    store.id = UUID()
                    store.name = self.name
                    store.branch = self.branch.isEmpty ? nil : self.branch
                    self.managedObjectContext.persist()
                },
                label: { Text("Add")}
            )
            .disabled(name.isEmpty)
        }
        .padding(.horizontal, 20)
    }
}
Run Code Online (Sandbox Code Playgroud)

persist()是围绕save().

Mic*_*mon 1

我发现问题出在 的声明上managedObjectContext。从环境中获取它不起作用,但将其作为参数传递却可以,即使它是从环境中的父视图中获取的。