我有以下数据模型:
ObjectA <->> ObjectB <->> ObjectC
换句话说,每个ObjectA
都有很多ObjectB
,而ObjectC
又有很多managedObjectContext
。
关系都设置正确的反转(据我所知)。
保存ObjectA
结果可以正确保存所有内容,但只要数据模型“完整”(即ObjectB
实际上有ObjectC
个实体,ObjectB
1}}实体)。
但是,如果ObjectC
没有任何ObjectB
(有时候会是这种情况),则ObjectB
不会被保存。
这种行为有没有明显的罪魁祸首?我甚至不知道从哪里开始寻找。
对象的类设置如下:
.objectA
有一个ObjectC
属性
.objectB
有一个{{1}}属性
两个属性名称都与关系名称相同。
我也尝试添加NSSet属性(与反向关系同名),但行为没有区别。
答案 0 :(得分:0)
感谢您的评论 - 现在已经解决了。这是由于Core Data外部的错误。在更新或插入新对象之前,我检查了一个ID列。事实证明,此列中的ID:s(由外部服务提供)不是唯一的。这导致对象被重新分配给其他父母。