检查 NSManagedObject 的对象图的变化

Posted

技术标签:

【中文标题】检查 NSManagedObject 的对象图的变化【英文标题】:Check for changes in NSManagedObject's object graph 【发布时间】:2014-12-04 22:25:22 【问题描述】:

在使用 NSManagedObjects 时,有没有办法知道对象本身或其任何引用的对象是否发生了变化,而无需遍历所有需要的对象进行检查?如果我调用hasChangeschangedValues,这些属性仅反映对象本身的更改,但不会反映对象引用对象中的任何值发生更改。

【问题讨论】:

【参考方案1】:

最简单的方法是监听通知。如果您收听NSManagedObjectContextObjectsDidChangeNotification,您将在每次发生变化时收到通知。

如你所料,这很健谈。

您还可以向NSManagedObjectContext 询问所有已更改的对象,然后使用NSPredicate 过滤该数组以检查您关心的对象。

【讨论】:

感谢第二种解决方案适用于我的情况。不太喜欢它,但它确实有效。

以上是关于检查 NSManagedObject 的对象图的变化的主要内容,如果未能解决你的问题,请参考以下文章

检查脚本附加的每个游戏对象的变量值

NSManagedObject 不插入它:相关的很多

NSManagedObject 时间戳更新

iPhone核心数据可以缓存NSManagedObject吗?

即使删除后,已删除的 NSManagedObject 仍保留在内存中

NSManagedObject 保存或插入检查