ios - Coredata 对象自动从关系中删除

标签 ios objective-c core-data

我面临核心数据关系问题。这是我的问题场景一步一步

  1. 我在核心数据中有两个表。 “联系人表”和“群组表”。
  2. “GroupTable”与“ContactTable”具有一对多关系,“ContactTable”与“GroupTable”具有一对一关系。这意味着这些表具有反向关系。
  3. "ContactTable"有一些记录,例如“姓名 1”、“姓名 2”、“姓名 3”等。
  4. 现在假设我创建了一个组,例如“GroupTable”中的“Group1”,并在“GroupTable”到“ContactTable”的一对多关系中保存以上3个联系人。
  5. 现在我创建第二组,例如“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/

相关文章:

iphone - iOS:如何知道是否调用了 viewDidLoad?

iphone - 播放png动画时出现延迟

objective-c - 为什么苹果使用 NSOrderedSet 而不是 NSArray 来处理 CoreData 中的有序多值关系?

iphone - 为核心数据中的对象赋值

iphone - map View 上的用户可移动点?

iphone - UISegment 根据当前位置和位置之间的距离对 TableView 进行排序

ios - swift ; scrollView 搭配 tableView 可行吗?

iOS 安全传输 TLS 扩展

objective-c - 将 NSString 转换为 Integer 时保留前导零

ios - 从私有(private)核心数据子上下文填充 UITableView