如何在 Coredata 中的相同实体之间创建多个关系?

Posted

技术标签:

【中文标题】如何在 Coredata 中的相同实体之间创建多个关系?【英文标题】:How can I create multiple relationships between the same entities in Coredata? 【发布时间】:2018-12-10 16:32:49 【问题描述】:

我已阅读 here,但被告知要提出一个新问题。

我有CountryEntity。它有两个关系。

capitalCityEntity 目标 - 一对一输入 citiesCityEntity 目标 — 键入一对多。

我应该如何设置反向部分。显然只有首都或城市可以与CountryEntity 建立关系。

当前问题:

【问题讨论】:

【参考方案1】:

你只是……创建关系,并给每个关系一个反向关系。无需特殊步骤。根据您的描述,

capital 将有一个称为capitalOf 之类的一对一逆,以指示CityEntity 是哪个CountyEntity 的大写字母。如果城市不是首都,则关系的价值为零。 cities 将有一个称为county 之类的一对一逆,以表明CityEntityCountyEntity 中。这永远不会有 nil 值。

显然只有首都或城市可以与CountryEntity有关系

这不是真的,或者至少 Core Data 不需要。

【讨论】:

关于这不是真的,或者至少Core Data不需要它。你能看到我的编辑吗? 是的。你不能有两个逆相同的关系。每个关系都需要自己的逆向关系。 #facepalm!这是我第一次真正使用 coredata。我混淆了与实体的关系......那么得出关系的数量应该始终是偶数的结论是否正确? 每个关系都应该有一个逆,所以如果你计算关系和逆,它总是一个偶数。

以上是关于如何在 Coredata 中的相同实体之间创建多个关系?的主要内容,如果未能解决你的问题,请参考以下文章

CoreData & RestKit - 从多个来源获取相同的实体类型

如何在 Core Data 中为多个对象(相同实体类型)生成数组实例?

如何将多个值存储到 CoreData 中的一个属性中?

两个 CoreData 实体之间可以有多个“对多”关系吗?

如何在刚刚创建目标实体模型的 Coredata 中迁移实体

使用三个相关的 NSPopUpButton 在 CoreData 中设置值