核心数据缺少第三度对象导致二级对象无法保存

时间:2013-10-23 21:18:34

标签: ios objective-c xcode core-data

我有以下数据模型:

ObjectA <->> ObjectB <->> ObjectC

换句话说,每个ObjectA都有很多ObjectB,而ObjectC又有很多managedObjectContext

关系都设置正确的反转(据我所知)。

保存ObjectA结果可以正确保存所有内容,但只要数据模型“完整”(即ObjectB实际上有ObjectC个实体,ObjectB 1}}实体)。

但是,如果ObjectC没有任何ObjectB(有时候会是这种情况),则ObjectB不会被保存。

这种行为有没有明显的罪魁祸首?我甚至不知道从哪里开始寻找。

对象的类设置如下:

.objectA有一个ObjectC属性

.objectB有一个{{1}}属性

两个属性名称都与关系名称相同。

我也尝试添加NSSet属性(与反向关系同名),但行为没有区别。

1 个答案:

答案 0 :(得分:0)

感谢您的评论 - 现在已经解决了。这是由于Core Data外部的错误。在更新或插入新对象之前,我检查了一个ID列。事实证明,此列中的ID:s(由外部服务提供)不是唯一的。这导致对象被重新分配给其他父母。