是否可以将CoreData条目限制为单个实体属性?

时间:2013-12-27 20:15:01

标签: ios objective-c core-data

是否可以将Core Data条目限制为单个属性?例如,假设我有这个实体:

Entity

Attribute: name

并且有多个Entity个对象可以通过one-to-many关系添加到数据库中。我是否可以限制数据条目,以便只能添加具有不同Entity属性的name?我不希望每次添加内容时都查询数据库,因为这会在数据库变大时对性能产生影响。

谢谢!

2 个答案:

答案 0 :(得分:1)

不,你不能。

现在我有以下想法。

1 - 如果属性是字符串,则应将其设置为规范形式(没有重音的纯文本等)。然后,您可以使用startsWithendsWith等谓词进行搜索。

2 - 您可以在用作哈希值的实体中添加另一个属性。插入新对象时将生成该哈希。插入新值时,将检查值。

3 - 索引属性以提高性能。

答案 1 :(得分:0)

核心日期无法自动检查重复值,因此您必须先检查 如果在插入新对象之前存在具有给定值的对象。

如果必须插入许多对象,则获取所有对象的效率更高 首先是新列表中的值,而不是许多获取请求。

“核心数据编程指南”中的"Implementing Find-or-Create Efficiently"对此进行了描述。