【发布时间】:2011-07-23 23:16:57
【问题描述】:
在我的 Core Data 应用程序中,我有一个实体 Person(它有一个 fullname 属性)。搜索名称的最简单方法是通过字段进行谓词搜索:
[predicateArray addObject:[NSPredicate predicateWithFormat:@"fullname CONTAINS[cd] %@", searchString]];
但据我所知,这是一个可能很昂贵的正则表达式搜索,特别是如果您想启用实时搜索(即在您键入时搜索)并且列表非常大。有没有更好的方法来做这个搜索?你能以某种方式转换 fullName 以使其更快地搜索吗?
【问题讨论】:
-
您是否做过测试,看看在实时搜索中可以通过这种方式搜索多少个项目?我不确定,但根据以前的经验,我打赌超过 2000 件。您有超过 2000 项要搜索的项目吗?
-
因为它是一个联系人列表,它的平均值大约为 1000,但您可以想象有些人的列表更大(尤其是组织列表)。因此,如果可能的话,我希望它可以扩展到 10,000 个条目。
-
您打算将其连接到组合框吗?
标签: objective-c core-data