NSPredicate子查询用于多个参数

时间:2014-02-10 10:46:27

标签: ios core-data nspredicate

我正在使用NSPredicate来过滤掉CoreData元素。

[predicateArray addObject:[NSPredicate predicateWithFormat:@"(SUBQUERY(properties, $x, $x.type IN %@ AND $x.val CONTAINS[cd] %@).@count > 0)", @[@"first_name",@"last_name", @"organization"], searchString]];

一般情况下,我想只返回具有类型(first_name,last_name,organization)和包含给定字符串的值的元素。我正在用它来搜索搜索模式中的联系人。

问题是当用户在带有空格的搜索字符串中键入时,我不知道处理搜索的最佳解决方案是什么,例如:

“firstName lastName”

在这种情况下,我想返回任何属性中同时包含“firstName”和“lastName”的属性。

我正在考虑为每个组件添加一个谓词:

[searchString componentsSeparatedByString:@" "]

并在它们之间建立AND,但也许有一种更简单的方法可以将数组传递给谓词,以便从中获取所有值。

0 个答案:

没有答案