实体更新后,Coredata关系会中断

时间:2014-03-03 06:07:37

标签: ios core-data

我使用coredata通过我的应用程序中的Web服务保存服务器数据,并将关系存储为实体的对象。

我有很多实体,例如“灵感”和“产品”,两者都是相互关联的。每当在第三个实体中更新记录时出现问题,即“过滤器”,然后实体的关系破裂,我无法对实体应用过滤器。

[object addRelatedInspirationsObject:related];

这就是我如何保存关系。我无法弄清楚为什么一旦实体更新而与实体没有直接联系就会破坏关系。

如果我获取并保存任何一个实体(如“Inspirations”)的数据,那么所有关系将再次开始工作。

2 个答案:

答案 0 :(得分:0)

从你的问题看,实体之间似乎有一对多的关系。根据您提供的代码,每件事都应该正常工作。只需确保,您正在使用像object.filter(或obj1.obj2.filter)这样的关系中的Filter对象,而不是通过Filter实体上的直接NSPredicate访问它并更新它。如果您正在使用FRC,您可能还需要针对父实体生成错误,以获取UI更新。

答案 1 :(得分:0)

您的代码应该有效。以下是您需要检查的两件事:

  • 调用方法时,请确保related不是nil
  • 确保在有效的托管对象上下文中调用save