/*
比较和逻辑运算符
就像前面的例子中使用了==操作符,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];

NSPredicate类,指定过滤器的条件---董鑫的更多相关文章

  1. 10)drf 过滤器(条件查询 排序 ) 分页器

    一.群查接口各种筛选组件 数据准备 models.py class Car(models.Model): name = models.CharField(max_length=16, unique=T ...

  2. java基础知识回顾之javaIO类--File类应用:过滤器接口FilenameFilter和FileFilter

    FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFi ...

  3. Junit 注解 类加载器 .动态代理 jdbc 连接池 DButils 事务 Arraylist Linklist hashset 异常 哈希表的数据结构,存储过程 Map Object String Stringbufere File类 文件过滤器_原理分析 flush方法和close方法 序列号冲突问题

    Junit 注解 3).其它注意事项: 1).@Test运行的方法,不能有形参: 2).@Test运行的方法,不能有返回值: 3).@Test运行的方法,不能是静态方法: 4).在一个类中,可以同时定 ...

  4. 一个类搞定SQL条件映射解析,实现轻量简单实用ORM功能

    个人觉得轻简级的ORM既要支持强类型编码,又要有执行效率,还要通俗易懂给开发者友好提示,结合Expression可轻松定制自己所需要功能. Orm成品开源项目地址https://github.com/ ...

  5. SpringCloud启动类指定扫描包路径

    //如果这个启动类所在的包路径隐藏的很深,则需要指定扫描包.否则默认扫描启动类所在的子包路径下 @SpringBootApplication(scanBasePackages="com.jo ...

  6. PredicateBuilder类(linq多条件组合查询)

    PredicateBuilder类如下: public static class PredicateBuilder { /// <summary> /// 机关函数应用True时:单个AN ...

  7. (转载)solr实现满足指定距离范围条件的搜索

    配置schema.xml <?xml version="1.0" encoding="UTF-8" ?> <schema name=" ...

  8. File类 文件过滤器

    创建过滤器 package cn.zmh.File; import java.io.File; import java.io.FileFilter; // 实现FileFilter类的功能 publi ...

  9. Java基础(二十八)Java IO(5)RandomAccessFile类与过滤器流(Filter Stream)

    一.RandomAccessFile类 使用RandomAccessFile类可以读取任意位置数据的文件. 1.构造方法 RandomAccessFile(String name, String mo ...

随机推荐

  1. UML的定义和组成详细介绍

    目录 1.UML 1.1概述 1.2 UML是一种建模语言 1.3 UML语言包含三方面 2.UML支持软件体系结构建模 2.1 逻辑视图 2.2 实现(开发)视图 2.3 部署视图 2.4 过程视图 ...

  2. Linux查找class类所在jar包

    1.说明 写代码或者定位问题的时候, 经常发生只知道类名不知道其所在jar包的问题, 在Eclipse中可以使用Ctrl+Shift+T查找类, 但是如果类所在的jar包不在Build Path中, ...

  3. Sentry 企业级数据安全解决方案 - Relay 配置选项

    Relay 的配置记录在文件 .relay/config.yml 中.要更改此位置,请将 --config 选项传递给任何 Relay 命令: ❯ ./relay run --config /path ...

  4. TypeScript 中文教程之缩小----部分翻译自TS官方

    Narrowing概念:字面意思是缩小,可以理解为细化或者您觉得更好的代名词. TS官方在这里做了很详细的说明,文字较多,简单以图片概括: typeof  type guards 类型防护过程,可以通 ...

  5. pytest 一个测试类怎样使用多种fixture前置方法

    fixture()方法写在哪里? @pytest.fixture(scope="范围")写在conftest文件中,如下图 怎么使用fixture()呢?分为一个类中使用一个前置或 ...

  6. MongoDB学习 - 简单使用

    1.项目引入pom依赖 <!-- mongodb --><dependency> <groupId>org.springframework.boot</gro ...

  7. Linux下配置GitHub

    一.注册GitHub账号 二.在linux命令行输入 git config --global user.name "YOUR NAME" #配置github账号 git confi ...

  8. Spring循环依赖原理

    Spring循环依赖的原理解析 1.什么是循环依赖? ​ 我们使用Spring的时候,在一个对象中注入另一个对象,但是另外的一个对象中也包含该对象.如图: 在Student中包含了teacher的一个 ...

  9. 基础概念(1):cc是什么

    cc是什么? "人和程序,有一个能跑就行",意思是上班写代码,要么程序运行起来,要么人滚蛋.程序怎么才能运行起来呢?先要写出来,再编译成可执行的二进制,之后就可以跑起来了.这里重要 ...

  10. 微服务架构 | 3.3 Apache Zookeeper 注册中心

    @ 目录 前言 1. Zookeeper 基础知识 1.1 Zookeeper 是什么 1.2 Zookeeper 的数据结构 1.3 Watcher 机制 1.4 常见应用场景分析 1.5 Zook ...