ios - 从集合中删除对象会使 CoreData 中的逆关系无效

标签 ios objective-c core-data mogenerator

我有一个与ObjectB 具有一对多关系的ObjectA。 ObjectB 与 ObjectA 具有逆向一对一关系。一切似乎都很顺利,直到我意识到调用 [objectA.objectBSet removeAllObjects] 破坏了 Set 内部的 ObjectB 实例的逆关系。 objectA.objectBSet 只是我(认为)从 mogenerator 工具获得的 objectB 的 NSMutableOrderedSet (如果这有什么区别的话)。

这可能吗,还是我做错了什么?难道仅仅从其父对象集合中删除一个对象就可以自动从 CoreData 影响其逆关系的值吗?

非常感谢

最佳答案

这就是它应该如何工作的。如果两个关系是相反的,那么它们对于每个对象都必须彼此一致。如果您告诉 ObjectA 删除与 ObjectB 实例的所有关系,那么这些 ObjectB 实例也将删除与该 ObjectA 的关系。这就是逆关系的工作原理。如果 ObjectB 实例仍然声称与 ObjectA 实例相关,则反向关系将处于不一致状态。

如果由于某种原因这不是您想要的,请使用 ObjectAObjectB 之间彼此相反的关系。

关于ios - 从集合中删除对象会使 CoreData 中的逆关系无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16718199/

相关文章:

cocoa - 核心数据、NSTableView 和获取选定行值

objective-c - 复杂的CATransition

ios - 从结构中删除重复项

objective-c - 无法在 TableView 中使用 pushViewController 打开详细 View 屏幕

ios - 如何将 iOS 中的图像从一个目录移动到另一个目录?

ios - 为 UITextField 提供两个核心数据属性?

ios - CoreData 是 setValue(_ :forKey:) necessary in Swift?

iOS 7 表内绝对位置响应不起作用

javascript - 如何在 Javascript/Sencha 中监听键盘打开/关闭?

objective-c - iOS 上一篇/下一篇文章或页面中使用硬件音量按钮的常用应用程序