有NSPredicate predicateWithFormat“OR”的问题

时间:2011-06-20 05:07:53

标签: core-data nspredicate

我正在尝试使用NSPredicate从coredata获取实体。我正在尝试进行“按键搜索”方法。它适用于简单的产品名称,如“椅子”或“桌子”。

但是当我尝试更复杂的东西,如“轮椅 - 电 - 电”时,当我输入“轮椅电动”时,结果没有显示出来。我认为它与我的NSPredicate predicateWithFormat有关,但我已经在这一段时间了。所以我需要一些帮助。

这是我的代码(这些是我最好的猜测)

    request.predicate = [NSPredicate predicateWithFormat:@" Name BEGINSWITH [c] %@ ",searchText];
    request.predicate = [NSPredicate predicateWithFormat:@" Name BEGINSWITH [c] %@ OR Name like[cd] %@ ",searchText,searchText];  

提前致谢:) Pondd

1 个答案:

答案 0 :(得分:1)

要进行OR搜索,您必须先将空白区域的搜索项拆分为数组。然后,您需要为每个单独的组件创建一个LIKE谓词。最后,您必须将各个谓词与多个OR复合谓词组合在一起。