2014-03-03 83 views
0

我正在使用coredata通过Web服务在我的应用程序中保存服务器数据,并且将关系作为对象存储到实体中。实体更新后,Coredata关系中断

我有很多实体,例如“Inspirations”和“Products”,两者都是相互关联的。每当记录在第三个实体“过滤器”中更新时,我遇到问题,那么实体的关系破裂,我无法对实体应用过滤器。

[object addRelatedInspirationsObject:related]; 

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

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

+0

从您提供的代码应该工作,但从您的问题,它不清楚你在过滤器实体做什么。你可以提供更多的代码和解释,否则可能会很难。 – Volker

回答

0

你的代码应该工作。这里有两件事你需要检查:

  • 确保related不是nil当你调用你的方法。
  • 请确保您在有效的托管对象上下文上调用save
+0

感谢您的建议。它运行良好。 –

0

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