保存时检测对 NSManagedObject 的更改

Posted

技术标签:

【中文标题】保存时检测对 NSManagedObject 的更改【英文标题】:Detect changes to NSManagedObject when saving 【发布时间】:2012-02-25 00:24:46 【问题描述】:

KVO 可以观察对象的各个属性并获得新旧值的通知。但是,有没有办法知道在保存 NSManagedObject 时哪些特定属性发生了变化以及上次保存时它们的值是什么/

【问题讨论】:

【参考方案1】:

您可以使用 NSFetchedResultsController 来做到这一点。只要你为你的 NSFetchedResultsController 设置了一个委托,你就会调用 -didChangeObject,它提供了你正在寻找的东西。

【讨论】:

嗯,NSFetchResultsController 好像没有-didChangeObject 的方法,Mac 上也没有,能详细说明一下吗? NSFetchedResultsControllerDelegate 有这个方法。这是链接:developer.apple.com/library/ios/ipad/#documentation/CoreData/…

以上是关于保存时检测对 NSManagedObject 的更改的主要内容,如果未能解决你的问题,请参考以下文章

插入的 NSManagedObject 无法保存时会发生啥情况?

NSManagedObject 中未保存的 NSSet 成员是不是会在保存时保留已删除的成员?

我们可以保存一个特定的 NSManagedObject 吗?

NSManagedObject 保存或插入检查

是否可以在 NSUserDefaults 中保存 NSManagedObject?

NSManagedObject 不保存