CoreData - 我什么时候保存?

use*_*541 2 core-data objective-c ios ios5 ios6

我理解如何使用CoreData,但我最困惑的是保存数据.当他们按下主页按钮?在应用崩溃的情况下,每次互动?

Mar*_*ams 5

保存数据是单独调用的原因是,您可以批量处理包含较大操作的多个较小更改并一次保存所有更改,而不是在整个过程中的每个步骤中保存.

您应该在每次原子操作之后保存数据,并且永远不会将提交的数据仅存储在内存中任何重要的时间段.

每次用户提交数据更改时,他们都会希望下次运行应用程序时数据就在那里,所以确保它在那里是你的工作.

在您的用户提交对数据的更改后,您的应用可能会等待用户做其他事情,因此在用户决定下一步做什么时保存数据.

如果您等待保存数据applicationDidEnterBackground,则无法保证它将被调用.

显然,并非所有数据都是关键的,例如,用户在表单上输入但尚未提交的数据并不重要.但是,任何提交的数据都至关重要.