1 谓词筛选字符串
:BEGINSWITH、ENDSWITH、CONTAINS
例:@"name CONTAINS[cd] 'ang'" //包含某个字符串
@"name BEGINSWITH[cd] 'sh'" //以某个字符串开头
@"name ENDSWITH[cd] 'ang'" //以某个字符串结束
例:@"name LIKE[cd] 'er'" //代表通配符,Like也接受[cd].
@"name LIKE[cd] '???er'"
例:NSString *regex = @"^A.+e$"; //以A开头,e结尾
@"name MATCHES %@",regex
忽略大小写[c] 与 忽略重音符号[d]
2 谓词筛选集合
详细请参考来源就不详细说明
补充说明一个可能出现的误区: 百度上很多的材料 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name BEGINSWITH[cd] %@" ,searchText]; 都是name 不要以为是固定的,name其实只是自己定义的模型的一个属性值。self.localls 是数组,里面是带有name和phone属性的模型数据。
是那name这个属性当做筛选条件,如下图就是分别对手机号和名字进行筛选。
2 swift 谓词用法详细