Skip to main content
 首页 » 编程设计

objective-c中如何检测核心数据关系的变化

2025年01月19日6952php

在核心数据中,我们尝试确定自上次保存事件(关系中删除、添加或更新的对象)以来一对一和一对多关系中的增量。我们尝试使用NSManggedObjectContext方法updatedObjects,但它只返回有关已更改属性的信息,而没有有关已更改关系的信息。我们搜索了 Apple 文档和其他来源,并考虑编写自定义托管对象访问器方法,但发现这是非常不鼓励的。

找出 NSManagedObject 关系中增量的最佳方法是什么?

请您参考如下方法:

updatedObjects 应返回对象图中发生更改的所有对象。您只需要确保:

  1. 您正在使用相同的托管对象上下文,并且
  2. 更改尚未保存。
  3. 您已将要观察的对象添加到上下文的 registeredObjects

您可以完成最后一点,例如通过获取您感兴趣的实体的所有实例。

请注意,您还可以使用 NSManagedObjectContextObjectsDidChangeNotification 对对象图中的更改使用react。