zoukankan      html  css  js  c++  java
  • NSPredicate类,指定过滤器的条件---董鑫

        /*
         比较和逻辑运算符
         就像前面的例子中使用了==操作符,NSPredicate还支持>, >=, <, <=, !=, <>,还支持AND, OR, NOT(或写成C语言样式&&, ||, ! ),其中AND,OR,NOT还是不区分大小写的
         */
        
        NSArray *array = [NSArray array];
        
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age <= 28"];
        for (Student *student in array) {
            //标示指定的对象是否满足谓语条件
            if ([predicate evaluateWithObject:student]) {
                NSLog(@"person name : %@",student.name);
            }
        }
        
        //返回一个符合谓语条件的数组
        NSArray *newArray = [array filteredArrayUsingPredicate:predicate];
        for (Student *student in newArray) {
            NSLog(@"person name : %@",student.name);
        }
        
        /*
         关键字 IN,BEGINSWITH,ENDSWITH,CONTAINS,LIKE,大小写都可以.添加的限制性字符串一定要添加''
         */
        Student *student = [[Student alloc]init];
        
        NSPredicate *preIN = [NSPredicate predicateWithFormat:@"student.name IN {'rose','bruse'}"];
        NSArray *student1 = [array filteredArrayUsingPredicate:preIN];
        //以**开始beginswith
        NSPredicate *preBeginsWith = [NSPredicate predicateWithFormat:@"student.name beginswith '滚犊子'"];
        NSArray *student2 = [array filteredArrayUsingPredicate:preBeginsWith];
        //以**结尾endswith
        NSPredicate *preEndsWith = [NSPredicate predicateWithFormat:@"student.name endswith '滚犊子'"];
        NSArray *student3 = [array filteredArrayUsingPredicate:preEndsWith];
        //包含contains
        NSPredicate *preContains = [NSPredicate predicateWithFormat:@"student.name contains '滚犊子'"];
        NSArray *student4 = [array filteredArrayUsingPredicate:preContains];
        //模糊查询like
        NSPredicate *preLike = [NSPredicate predicateWithFormat:@"student.name like '*%@*'",@"滚犊子"];
        NSArray *student5 = [array filteredArrayUsingPredicate:preLike];

  • 相关阅读:
    JavaScript解析顺序和变量作用域
    JS-BOM
    原生对象-Array
    JavaScript01
    css3动画
    scc的使用
    CSS3学习总结
    Js数组方法大全
    JavaScript判断变量是否为数组
    浏览器兼容性问题及解决方案
  • 原文地址:https://www.cnblogs.com/sixindev/p/4819775.html
Copyright © 2011-2022 走看看