核心数据,多对多和唯一约束

时间:2012-01-10 10:28:30

标签: iphone objective-c sqlite core-data

人!

我在数据模型Contact和Group中有两个实体。联系人和集团有多对多的关系。我已经按照Apple核心数据手册中的描述创建了它们。

我用查看器观看sqlite文件,第三个表看起来不错,但有一个问题。联系人不是唯一的,当我只想添加与另一个组的联系时,它会被再次添加到Contact表中并进入关系表。

在这里使我的联系人独特的最快方法是什么?

2 个答案:

答案 0 :(得分:1)

在iOS 9之前,核心数据没有内置的唯一性约束。在iOS 9之前的代码中,在插入之前,您必须检查代码中是否已存在-countForFetchRequest:error:的联系对象。

答案 1 :(得分:0)

自iOS9以来支持唯一约束,但记录不完善。我认为您需要做的就是在UI中的约束列表中添加您希望约束的列,并确保您在托管对象上下文中配置了要配置的合并策略。

Ray Wenderlich forums上的这些信息可能有所帮助,并且有一个示例项目已链接。