CoreData 通过 Quit 保存对象更改

Posted

技术标签:

【中文标题】CoreData 通过 Quit 保存对象更改【英文标题】:CoreData Saving Object Changes by Quit 【发布时间】:2011-11-08 11:29:32 【问题描述】:

这个问题参考了这个问题(代码可见那里):TO THE QUESTION

如果我创建一些新对象,我可以使用它们,在它们之间进行更改等。一切正常。但是如果完全关闭应用程序(在 ios5 多任务栏中)并再次打开它,我会得到我创建的对象数量,但所有属性都设置为标准值。除了一个之外的所有对象都是这种情况:位于列表顶部的那个。我是否在任何地方忘记了保存命令?谢谢!

【问题讨论】:

只是一个疯狂的猜测:您检查过save 调用托管对象上下文的错误结果吗?如果正在保存的对象有任何问题(例如未满足约束),则保存可能会失败。尽管这些对象根本不应该出现,但这是首先要检查的。 嗨,Phoenix,感谢您的贡献,但问题是应用程序退出根本没有 保存。 :) 【参考方案1】:

尝试在applicationWillResignActive 中调用saveContext

【讨论】:

NSError *error; [__managedObjectContext save:&error]; ... 做到了。谢谢!

以上是关于CoreData 通过 Quit 保存对象更改的主要内容,如果未能解决你的问题,请参考以下文章

核心数据模型设计 - 更改“实时”对象也会更改保存的对象

为啥保存托管对象上下文更改 isDeleted 值?

核心数据:setPrimitiveValue 和保存更改

通过UserNotification自定义操作访问时,CoreData无法初始化托管对象

将观察者保存在 CoreData 对象上的干净方法?

MagicalRecord 并不总是保存更改