例如,如果我们在 XCode 中点击“停止”,它将关闭应用程序,模仿崩溃行为。
但如果我的 Core Data Context 没有保存,当我返回时,数据将不存在。
有什么解决方法吗?
我应该在每次完成大操作时保存上下文吗?
谢谢。
最佳答案
根据我的经验,您应该在使用 Core Data 保存机制时确定正确的粒度。
恕我直言(也许其他人可能有不同意见)没有可遵循的标准。我的经验法则是考虑两个不同的方面。 用户和性能。
在第一种情况下,您应该在用户执行关键操作时保存。例如用户在表单中插入了很多值,因此他希望不再插入它们。关于第二个方面,保存操作可能会影响应用程序的性能。如果您经常将更改写入磁盘,则应用程序的响应速度会降低。相反,在内存中拥有如此多的对象可能会导致内存警告(这将导致 Core Data 采取特定行为)。
权衡可能是使用后台操作来保存更改或利用新的核心数据 API。显然,以前的规则仍然有效。
关于ios - 在崩溃前保存核心数据上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210276/