NSPredicate:
NSPredicate *predicate;
predicate=[NSPredicate predicateWithFormat: @"name == 'Herbie'"];//根据字符串创建谓词对象
BOOL match = [predicate evaluateWithObject: car];//将谓词对象与car进行匹配
NSArray *results;
results = [cars filteredArrayUsingPredicate: predicate];//用谓词对象过滤数组
NSMutableArray *carsCopy = [cars mutableCopy];
[carsCopy filterUsingPredicate: predicate];//剔除集合中不符合条件的元素
格式说明符:
%@ 字符串 %K 键路径 $ 变量名
predicate = [predicateTemplate predicateWithSubstitutionVariables: varDict];//谓词模板从字典中获取键对应的值并生成新的谓词
运算符:
AND &&
OR ||
NOT !
BETWEEN{,} BETWEEN%@(数组对象) BETWEEN$变量名
IN
SELF:
SELF IN 实现数组交集
字符串运算符:
BEGINSWITH//区分大小写
ENDSWITH[cd]//c不区分大小写,d不区分发音符号
CONTAINS
LIKE '?er*'//?单个字符 *任意个字符
MATCHES 正则表达式