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

 

posted @ 2016-01-25 22:49  LaiSong  阅读(128)  评论(0编辑  收藏  举报