在我的Core Data应用程序中,我有一个实体Person(具有fullname属性)。搜索名称的最简单方法是通过字段进行谓词搜索:
[predicateArray addObject:[NSPredicate predicateWithFormat:@"fullname CONTAINS[cd] %@", searchString]];
但是从我所掌握的情况来看,这是一个可能很昂贵的正则表达式搜索,特别是如果你想启用实时搜索(即你键入时搜索)以及列表非常大。有没有更好的方法来进行此搜索?你能不能以某种方式转换fullName,以便更快地搜索?
答案 0 :(得分:0)
您可能对类似于此的方法感兴趣:
基本上,您可以创建一些针对前几个字符进行优化的子搜索特定实体。
你可能也在你的谓词中寻找“以...开头”而不是“包含”,很少有人通过他们名字的中间字母在心理上组织他们的联系人。他们通常首先为Adam或Andy等键入“A”,而不是“am”或“nd”。