如何将具有多个引用的类建模为另一个类作为核心数据实体?

时间:2018-01-29 23:59:45

标签: swift core-data

我有以下结构,我试图建模为核心数据实体。我是Core Data的新手,我似乎无法在线找到一个资源来帮助我解决这个问题。

class ThingDetail {

   let color:  String
   let amount: Double
   let symbol: String

}

class Thing {
   let name: String
   let A: ThingDetail
   let B: ThingDetail
   let C: ThingDetail
   let D: ThingDetail

   init() {
       ...
   }

}

我为Thing和ThingDetail的实体创建了一个实体,但是我如何处理属性A,B,C,D?这不是真正的一对多关系,因为我只想要4个引用ThingDetail。如果我使用从Thing到ThingDetail的名为“thingDetails”的一对多关系,那么我假设我将得到一些我必须访问的后退

thingDetails[0].color
thingDetails[1].symbol
etc...

但这似乎不对。这是必须的吗?我不确定如何在给定这些类属性的情况下将这两个类建模为Core Data实体。

1 个答案:

答案 0 :(得分:1)

如你所知,它不是一对多的关系,它是四个独立的一对一关系。没关系,如果有意义,两个实体可能会有一个以上的一对一关系。如果ABCD是有意义的名称,那么请使用这些名称并使用四种关系。

如果这些名字没有意义 - 也就是说,Thing有四个细节,但重要的是获得所有这些 - 与一对多的关系。 ABCD似乎没有什么特别的意义,但也许它们是,或者可能是占位符名称,而不是您应用中的名称。