NSPredicate predicateWithFormat "OR" 有问题
Posted
技术标签:
【中文标题】NSPredicate predicateWithFormat "OR" 有问题【英文标题】:having problem with NSPredicate predicateWithFormat "OR" 【发布时间】:2011-06-20 05:07:53 【问题描述】:我正在尝试使用 NSPredicate 从 coredata 中获取实体。我正在尝试进行“键入时搜索”的方法。它适用于简单的产品名称,如“椅子”或“桌子”。
但是,一旦我尝试了更复杂的内容,例如“Wheelchair - Electric - power”,然后当我输入“Wheelchair Electric”时,结果就没有显示出来。我认为这与我的 NSPredicate predicateWithFormat 有关,但我已经有一段时间了。所以我需要一些帮助。
这是我的代码(这些是我最好的猜测)
request.predicate = [NSPredicate predicateWithFormat:@" Name BEGINSWITH [c] %@ ",searchText];
request.predicate = [NSPredicate predicateWithFormat:@" Name BEGINSWITH [c] %@ OR Name like[cd] %@ ",searchText,searchText];
在此先感谢 :) 池塘
【问题讨论】:
【参考方案1】:要进行 OR 搜索,您必须首先将搜索词按空格拆分为一个数组。然后您需要为每个单独的组件创建一个 LIKE 谓词。最后,您必须将单个谓词与多个 OR 复合谓词组合起来。
【讨论】:
以上是关于NSPredicate predicateWithFormat "OR" 有问题的主要内容,如果未能解决你的问题,请参考以下文章