用途:谓词,可以指定过滤器的条件,用于对集合里面的元素进行筛选;也可以定义模糊查询的条件,用于模糊查询。类似SQL中的where。
用法:
//创建NSPredicate对象 并定义查询条件
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age>20"];
//使用数组的filteredArrayUsingPredicate方法 获取符合我们指定条件的对象
self.datas = [[self.datas filteredArrayUsingPredicate:predicate] mutableCopy];
相关词:
<,>,==,<=,>=,!=;
//IN:查找与array交集的元素。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN%@“,array];
//BETWEEN:查找1~20内的数字。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF BETWEEN{1,20}”];
字符串相关词:
BEGINSWITH :以某个字符串开头
ENDSWITH : 以某个字符串结尾
CONTAINS :包含某个字符串
LIKE:与通配符?*一起用;
//查询出以a这个字符开头的字符串,[cd]->c表示不区分大小写,d表示不区分发音符号
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[cd] 'a' "];
多个条件通过复合符号AND(&&),OR(||),NOT(!)连接。
网友评论