无法保存多对关系数据

时间:2013-07-21 07:24:14

标签: core-data one-to-many datastore

我能够处理上下文中的对象并处理关系。我的注册对象表现正常。

我的商店以正确的配置添加到协调器(配置有3个实体,一个实体与另外两个实体与第一个实体有多对多的关系)。

使用-many实体或两个-many实体保存商店都能正常工作。但是,当我将单实体添加到上下文时,对象图将不会保存。

这似乎是一个常见的初学者问题,但这对初学者来说也意味着它也是一个困难的解决方案。我希望我不是第一个遇到这种麻烦的人吗?

更新:感谢您的回复和指示。似乎主要的麻烦是巧妙地指出,我没有正确处理错误。看完这篇文章Core Data Entity Relationship Does Not Save Between Launches后,我开始改进错误处理。关于此问题的本地化描述是“需要ID'”。虽然我还不知道这意味着什么,但我现在至少有机会弄明白。

1 个答案:

答案 0 :(得分:0)

To-Many关系在对象上表示为集合。所以孩子 - >> parent表示child.parent表示为一个集合。因此,在添加新的父对象时,需要在保存上下文之前将该父对象添加到该集。如果你说self.parent = inserted_pa​​rent_object,我不确定会发生什么。如果你走另一条路,那就更容易了。插入父对象时,只需设置子对象(假设您拥有它)并保存上下文。除非是多对多关系,否则这将有效。

如果出现错误,代码和错误消息将有助于您进行调试。 这个有代码: CoreData adding relationships to-many