CoreData保存而不保存上下文

时间:2020-11-05 02:34:44

标签: ios swift core-data

我在使用CoreData时遇到了一些麻烦。在使用实体之前,我从Coredata中删除了它们,并打印出来以确保它们实际上已被删除。在for循环之后,我再次将它们打印出,即使我没有保存上下文,它们也已保存。当我终止应用程序并重新加载时,即使我从未保存上下文,数据也在那里,这是怎么回事?

DataController.shared.deleteAllModifiersFromCD()
                DataController.shared.printExercisesAndModifiersFromCD()
                for mod in modSnap {
                    let modifierType = mod.childSnapshot(forPath: "type").value as! String
                    let modifier = Modifier(context: self.DC.context)
                    modifier.id = mod.key
                    modifier.modType = modifierType
                }
                DataController.shared.printExercisesAndModifiersFromCD()

1 个答案:

答案 0 :(得分:0)

我杀死该应用并重新加载时,即使我从未保存过上下文,数据也在那里

这就是为什么IIRC在保存上下文时实际上是将更改持久保存在磁盘上的原因,在此之前,一切都发生在内存上。

这就是为什么保存上下文发生在AppDelegate.applicationWillTerminate上的原因,它是在终止应用程序之前执行的。请注意,杀死应用程序是在从应用程序切换器向上滑动时,而不是从Xcode停止执行时。

相关问题