核心数据(iOS)中的多对多关系

时间:2017-01-09 20:06:34

标签: ios core-data many-to-many

在我的项目中,我有一个实体,任务。我打算创建另一个实体Subtask,并分配从Task到Subtask的一对多关系,这意味着一个Task可以有很多Subtasks。

但是,在将其映射出来之后,我已经意识到子任务实体与任务实体相同,就其属性而言。它们是相同的,唯一的区别是一个是另一个的父母。

创建一对多关系而没有反向(subTask属性)会更好,如下所示:

enter image description here

或者创建另一个对象会更好,并将关系设置为:

enter image description here

或者在Task实体中创建父属性和子属性会更好,并将关系设置为:

enter image description here

我认为最后一种方法是最好的,但我不确定,任何方向都会很精彩。

1 个答案:

答案 0 :(得分:1)

如果除了父/子关系之外两个实体是相同的,那么从实体到自身的多对多关系就是要走的路。当一个人做的时候,创建实体的两个副本是没有意义的。如果这两个实体以任何其他方式(或可能会变得)不同,请将它们分开。