1

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

但是如果我的核心数据上下文没有保存,当我返回时,数据将不存在。

  1. 有什么解决方法吗?

  2. 每次大操作完成时我应该保存上下文吗?

谢谢。

4

1 回答 1

2

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

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

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

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

于 2013-03-04T20:35:42.880 回答