如何与核心数据建立多对多的关系? Swift,xcode

时间:2016-03-20 04:26:21

标签: swift core-data entity relationship

我有2个实体。

实体1 - 人 实体2 - 书籍

People实体有一个属性,它是他们喜欢的书籍的字符串名称数组。

我需要创建一种关系,以某种方式将一个人最喜欢的书籍映射到相应的书籍实体对象。

我不知道该怎么做。

到目前为止,我已经开始通过将目的地设置为“书籍”,然后通过将目的地设置为“人物”来创建关系的书籍实体,为人们创建核心数据模型中的关系。

我没有看到或理解这将如何自动挑选出每个人最喜欢的书......在一天结束时他们都是单独的对象。人们如何知道,对于一个特定的人来说,这个,本书和这本书是那个人最喜欢的?

1 个答案:

答案 0 :(得分:0)

Person属性作为书籍的字符串名称数组 - 非常糟糕的主意!

您需要与Book实体建立多对多关系。就是这样。

 Person <------------>> Book

然后,为特定的人获取一系列书名:

(person.books as! Set<Book>).map { $0.title }

该人可以与其中一本书有额外的一对一关系(例如称为favoriteBook)。