NSPredicate

作者: 小僧有礼了 | 来源:发表于2019-02-15 15:13 被阅读0次

    用于定义逻辑条件约束,是对一个获取内存过滤搜索的逻辑条件(意思:是一个过滤,不符合条件的都滚开)

    基本语法

    比较运算符 (=、==、=>、<=、!= … 谓词中=和==是相同的意思都是判断,而没有赋值这一说)

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@“SELF = 123”];
    [predicate evaluateWithObject:testNum]; 返回YES或NO
    BETWEEN:表达式必须满足{下限,上限},大于或等于下限,并小于或等于上限
        SELF BETWEEN {100,200}
    

    逻辑运算符 (AND、&&、OR、||、NOT、!)

    SELF > 2 && SELF < 8
    

    字符串比较运算符([c]忽略大小写[d]忽略重音符号[cd]忽略大小写和重音符号)

    BEGINSWITH:检查字符串是否以指定的字符串开头
        SELF BEGINSWITH “a”
        SELF BEGINSWITH[cd] “café”
    ENDSWITH:检查字符串是否以指定的字符串结尾
        CONTAINS:检查字符串是否包含指定的字符串
        LIKE:检查字符串是否匹配指定字符串模板
            SELF LIKE ‘ab’ (包含)
            SELF LIKE ‘?ab’ (第2、3个字符为ab)
        MATCHES:检查字串串是否匹配指定的正则表达式(正则表达式的执行效率最低,但功能强大,最为常用)
    

    集合运算符

        ANY、SOME:任意一个元素满足条件,就返回YES
        ALL:所有元素都满足条件,返回YES
        NONE:没有任何元素满足条件返回YES
        IN:等价SQL中的IN运算符,当左边表达式或值出现在右边,返回YES
        数组过滤掉另外一个数组的所有数据
                NSPredicate *predicate = [NSPredicate predicateWithFormat:@“NOT(SELF IN %@)”,array];
                [source filteredArrayUsingPredicate:predicate];

    相关文章

      网友评论

        本文标题:NSPredicate

        本文链接:https://www.haomeiwen.com/subject/wjtmeqtx.html