我有一个与ObjectB 具有一对多关系的ObjectA。 ObjectB 与 ObjectA 具有逆向一对一关系。一切似乎都很顺利,直到我意识到调用 [objectA.objectBSet removeAllObjects]
破坏了 Set 内部的 ObjectB 实例的逆关系。 objectA.objectBSet
只是我(认为)从 mogenerator 工具获得的 objectB 的 NSMutableOrderedSet
(如果这有什么区别的话)。
这可能吗,还是我做错了什么?难道仅仅从其父对象集合中删除一个对象就可以自动从 CoreData 影响其逆关系的值吗?
非常感谢
最佳答案
这就是它应该如何工作的。如果两个关系是相反的,那么它们对于每个对象都必须彼此一致。如果您告诉 ObjectA
删除与 ObjectB
实例的所有关系,那么这些 ObjectB
实例也将删除与该 ObjectA 的关系
。这就是逆关系的工作原理。如果 ObjectB
实例仍然声称与 ObjectA
实例相关,则反向关系将处于不一致状态。
如果由于某种原因这不是您想要的,请使用 ObjectA
和 ObjectB
之间彼此不相反的关系。
关于ios - 从集合中删除对象会使 CoreData 中的逆关系无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16718199/