我面临核心数据关系问题。这是我的问题场景一步一步
- 我在核心数据中有两个表。 “联系人表”和“群组表”。
- “GroupTable”与“ContactTable”具有一对多关系,“ContactTable”与“GroupTable”具有一对一关系。这意味着这些表具有反向关系。
- "ContactTable"有一些记录,例如“姓名 1”、“姓名 2”、“姓名 3”等。
- 现在假设我创建了一个组,例如“GroupTable”中的“Group1”,并在“GroupTable”到“ContactTable”的一对多关系中保存以上3个联系人。
- 现在我创建第二组,例如“GroupTable”中的“Group2”,并在“GroupTable”到“ContactTable”的一对多关系中保存以上3个联系人。
问题:当我从“GroupTable”的关系打印“Group2”的成员时,所有 3 条记录都被打印出来,但是当我从“GroupTable”的关系打印“Group1”的成员时,没有记录。同样,如果我继续创建具有相同 3 个联系人的新组,则仅在最后一个组中打印记录。
任何人都可以帮助我解决这个问题或建议任何方法。
最佳答案
这是从 ContactTable
定义关系的结果至 GroupTable
作为“一对一”:每个Contact
只能与一个 Group
相关.因此,当您保存 3 Contact
s 到“Group2”,CoreData 会自动将它们从“Group1”中删除。
如果你想要 Contact
的实例属于“Group1”和“Group2”,那么您必须从 ContactTable
定义关系至 GroupTable
作为“对多”。
关于ios - Coredata 对象自动从关系中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33706508/