基于实体属性确保 CoreData 实体唯一的最佳实践

Posted

技术标签:

【中文标题】基于实体属性确保 CoreData 实体唯一的最佳实践【英文标题】:Best Practice for ensuring CoreData entities are unique based on entity attributes 【发布时间】:2011-02-03 15:40:15 【问题描述】:

我要做的是确保我的图表中的实体是唯一的。例如,任何两个用户都不应拥有相同的社会保险号。

我见过的两种解决方案是:

1) 索引您的实体并在创建新对象之前使用谓词搜索匹配的实体

2) 为每个实体唯一属性创建一个内存字典。

iConfess:我来自关系数据库世界。我是主键的用户。

我正在尝试做的最佳实践是什么。

【问题讨论】:

【参考方案1】:

我会选择选择 1:“在创建新对象之前为您的实体编制索引并使用谓词搜索匹配的实体”。在我看来,使用内存字典需要您(我假设)复制需要维护的内容,从而创造出错的机会,并且有可能膨胀到比原来更大的东西预计。

可能存在速度问题 - 查询索引核心数据与查询字典 - 但这可能太琐碎以至于没有实际意义,因为到目前为止我对 Core Data 的速度没有任何问题。

【讨论】:

以上是关于基于实体属性确保 CoreData 实体唯一的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

CoreData 可以返回唯一的实体属性吗?

实体具有某些共同属性时的模型结构

Coredata Xcode 8中的“在实体的唯一性约束属性中,逗号不是有效属性”

CoreData 引用

没有属性的 CoreData 模型超级实体

CoreData 实体获取请求