在崩溃之前保存核心数据上下文

时间:2013-03-04 20:14:29

标签: ios core-data

例如,如果我们在XCode中点击“停止”,它将关闭应用程序,模仿崩溃行为。

但如果我的核心数据上下文尚未保存,那么当我返回时,数据将不会存在。

  1. 是否有解决方法?

  2. 我是否应该在每次大型操作完成后保存上下文?

  3. 感谢。

1 个答案:

答案 0 :(得分:2)

根据我的经验,您应该在使用Core Data保存机制时确定正确的粒度。

恕我直言(也许其他人可能有不同意见)没有标准可循。我的经验法则是考虑两个不同的方面。 用户效果

在第一种情况下,只要用户执行关键操作,您就应该保存。例如用户在表单中插入了很多值,因此他不希望再插入它们。关于第二个方面,保存操作可能会影响应用程序的性能。如果您经常将更改写入磁盘,则应用程序的响应速度会降低。相反,在内存中有这么多对象可能导致内存警告(这些将导致Core Data采取特定行为)。

权衡可能是使用后台操作来保存更改或利用新的Core Data API。显然,以前的规则仍然有效。