我有两个实体。
第一实体 A 和第二实体 B。
A 包含许多 B 实体。
我将 B 实体添加为 NSSet。
我的问题是,当我将 B 实体添加到 A 对象时,如果它已经附加到另一个 A 对象,它也会从另一个 A 对象中删除。
我只想指向这个 B 对象。
例如,每次将 B 对象添加到每个 A 对象时,我都会添加两个 A 对象。
但是如果我已经将 B 对象添加到第一个 A 对象,然后我想将其添加到第二个 A 对象,则 B 对象将与第一个对象分离。但我想在两个 A 对象中保存此 B 对象上的链接。
最佳答案
当您应该建立多对多关系时,您似乎创建了一对多关系。对于多对多,您的 categoryId 将有一组 Artist 对象,就像您的艺术家有一组 categoryIds 一样。如果您将 categoryId 添加到艺术家,该艺术家将被添加到 categoryId 上的 artists 或 artistsSet 属性。因此 categoryId 不限于只有一位艺术家,并且您不会替换之前分配的艺术家。它们都将出现在 categoryId.artists 中(或您为关系命名的任何名称)。
关于ios - CoreData如何指向一个实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20155625/