我应该啥时候保存上下文?
Posted
技术标签:
【中文标题】我应该啥时候保存上下文?【英文标题】:When should I save the context?我应该什么时候保存上下文? 【发布时间】:2013-06-01 10:56:13 【问题描述】:我是 StackMob 的新手,所以请原谅这个基本问题。 那里缺少教程。
当我创建一个新对象并立即保存 NSManagedObjectContext 时,该对象已成功保存。
但通常当我使用核心数据时,我只将上下文保存在 applicationDidEnterBackground 和 applicationWillTerminate 中。
当我把我的保存代码放在那里时,它就是不保存!
我试过以下代码:
NSManagedObjectContext *context = [self.coreDataStore contextForCurrentThread];
[context saveOnSuccess:^
NSLog(@"Success!");
onFailure:^(NSError *error)
NSLog(@"Error: %@",error);
];
当我立即保存时它工作得很好,但是当这种代码和平在上面提到的方法中时,它不会打印任何东西!
不是“成功”也不是“错误”,当然在网络上我看不到新对象。
那么,我应该什么时候保存在我的应用中所做的更改?显然,我无法随时保存它们。
谢谢。
【问题讨论】:
您是否需要仅在那些应用程序委托方法中保存数据?如果在用户添加/更新/删除某些内容后,应用在执行过程中由于某种随机原因崩溃怎么办? 【参考方案1】:解决方案: 不要使用 saveOnSuccess:onFailure:,而是使用 saveAndWait:
【讨论】:
以上是关于我应该啥时候保存上下文?的主要内容,如果未能解决你的问题,请参考以下文章
Magical Record IOS 目标 C. 我们应该创建啥上下文?