问题很简单:什么时候使用NSManagedObjectContext的save:(NSError **)error
方法?据我了解,它所做的唯一一件事就是将更改的数据保存到持久存储中。 Xcode 模板生成的应用程序委托(delegate)在 applicationWillTerminate
上调用 save: 方法,这样就足够了吗?
关于我的代码的详细信息:
- 多线程(在后台执行操作,因此使用多个
NSManagedObjectContext
) - 我正在使用单个
NSPersistentStoreCoordinator
- 使用
mergeChangesFromContextDidSaveNotification:
合并在后台线程上更改的数据
- 如果您需要了解更多信息,请务必询问!
我找不到关于何时调用它的指南,所以我决定问问大家。提前感谢您的回复!
最佳答案
您总是需要调用 save: 当您希望保存数据时。您不能始终保证 applicationWillTerminate 会被调用。例如,如果您的应用程序由于内存问题(或由于少数其他原因之一)而崩溃,则不会调用它。
我会在用户完成实际生成要保存的数据的操作时保存数据。
关于iphone - 什么时候使用存档: method of NSManagedObjectContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6886801/