Coredata对象自动从关系中删除

时间:2015-11-14 08:22:17

标签: ios objective-c core-data

我正面临着coredata关系的问题。这是我的问题情节步骤

  1. 核心数据中有两个表。 " ContactTable"和" GroupTable"。
  2. " grouptable将"与" ContactTable"有一对多的关系;和" ContactTable"与" GroupTable"有一对一的关系。这意味着表格具有反比关系。
  3. " ContactTable"有一些记录,例如" Name1"," Name2"," Name3"等
  4. 现在假设我创建了一个组,例如"组1" in" GroupTable"并在" GroupTable"的一对多关系中保存所有上述3个联系人。到" ContactTable"。
  5. 现在我创建了第二个组,例如"组2" in" GroupTable"并在" GroupTable"的一对多关系中保存所有上述3个联系人。到" ContactTable"。
  6. 问题:当我打印" Group2"的成员时来自" GroupTable"的关系打印所有3条记录,但是当我打印" Group1"来自" GroupTable"的关系,没有记录。同样,如果我继续创建具有相同3个联系人的新组,则仅在最后一组中打印记录。

    任何人都可以帮助我或建议任何方法。

1 个答案:

答案 0 :(得分:1)

这是将GroupTableContact之间的关系定义为“to-one”的结果:每个Group只能与一个Contact相关联。因此,当您将3 Contact保存到“Group2”时,CoreData会自动将它们从“Group1”中删除。

如果您希望ContactTable的实例属于“Group1”和“Group2”,则必须将GroupTablestruct st { .... } struct st A; A.element = value; struct st B; B.element = value; struct st_array[2]; struct st_array[0] = A struct st_array[1] = B; 之间的关系定义为“to-many”。