NSPredicate
谓词:
NSPredicate类用来定义逻辑条件约束的获取,或内存中的过滤搜索。
当我们使用谓词时,需要为谓词定义谓词表达式,这个表达式必须返回BOOL的值。
字符串比较运算符:
BEGINSWITH:检查某个字符串是否以指定的字符串开头(如:BEGINSWITH 'a')
ENDSWITH:检查某个字符串是否以指定的字符串结尾
CONTAINS:检查某个字符串是否包含指定的字符串
LIKE:检查某个字符串是否匹配指定的字符串模板。其之后可以跟?代表一个字符和*代表任意多个字符两个通配符。比如"name LIKE '*ac*'",这表示name的值中包含ac则返回YES;"name LIKE '?ac*'",表示name的第2、3个字符为ac时返回YES。
MATCHES:检查某个字符串是否匹配指定的正则表达式。
直接量:
SELF:代表正在被判断的对象自身
数组:和c中的写法相同,如:{'one', 'two', 'three'}
NSPredicate的简单使用:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF > 20"]; NSNumber *i = @30; BOOL result = [predicate evaluateWithObject:i]; // result = YES
完