【发布时间】:2020-05-17 15:18:54
【问题描述】:
我的代码如下。数据中的name没有变化,但是hasChanges总是返回true,是不是我做错了什么?非常感谢您的帮助!
struct SwiftUI: View {
@Environment(\.managedObjectContext) var moc
@Environment(\.presentationMode) var pre: Binding<PresentationMode>
var data: CoreData
@State private var name = ""
var body: some View {
NavigationView {
HStack {
TextField("name", text: self.$name)
}.onAppear{
self.name = self.data.name ?? ""
}
Button(action: dataSave) {
HStack {
Text("Done")
}
}
}
}
func dataSave() {
self.data.name = self.name
if moc.hasChanges {
do {
try moc.save()
self.pre.wrappedValue.dismiss()
} catch { print(error.localizedDescription) }
} else {
self.pre.wrappedValue.dismiss()
}
}
}
为什么这里总是返回true?
moc.hasChanges
【问题讨论】:
标签: ios swift core-data swiftui