我有这个核心数据关系:
Deck <<-->> Cards <-->> Card Defaults
但是:Deck <-->> Card Defaults
我如何对此进行建模,以便我能够创建一个包含许多卡片的卡片组,每张卡片只有一个不同的默认卡片?我不确定Core Data如何将每个卡片只有一个默认值相关联的事实联系起来。仅从Deck <<-->> Cards <-->> Card Defaults
开始,似乎Core Data会认为牌组中的每张牌都有许多默认值。
但是,如果我Cards <--> Card Default
,那么我将无法为不同的套牌设置不同的卡默认值。
这里有什么我想念的吗?
感谢您的帮助!
答案 0 :(得分:1)
根据经验,当您发现自己创造了以下情况时:
甲板及LT;&LT; - &GT;&GT;卡 卡和LT; - &GT;&GT;默认 甲板&LT; - &GT;&GT;默认
...这表明您的模型逻辑上需要两个其他实体之间的链接实体。
我认为你需要:
Deck<-->>Default<<-->Card
这使用Default对象将每个Card与特定Deck相关联,但仅通过适用于该Deck的Default。
不要害怕制作多跳关系路径。 Core Data处理非常长的密钥路径和复杂模型的能力是它的强大功能。
答案 1 :(得分:0)
您需要卡与卡默认值之间的一对一。您还需要Deck和Card Default之间的一对一。这样,Card Default与Deck和Card相关联。