NSPredicate谓词
NSPredicate——谓词(is)
作用:判断条件表达式的求值返回真或假的过程 使用步骤:
. 定义NSPredicate对象并指定条件
. 调用谓词的evaluateWithObject方法判断指定条件是否满足 示例:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS '1'"];
NSString *text = @"";
NSLog(@"%d", [predicate evaluateWithObject:text]);
谓词示例(1)——传统方法
. 创建Person的对象数组
. 编写常规的查询判断姓名和年龄的过滤方法 NSMutableArray *result = [NSMutableArray arrayWithCapacity:personList.count]; for (NSInteger i = ; i < personList.count; i++) {
Person *person = personList[i]; // 用户年龄小于5 同时用户姓名中包含“1”字符串
if (person.age < && NSNotFound != [person.name rangeOfString:@""].location) {
[result addObject:person];
}
} return result;
谓词示例(2)——谓词方法
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name CONTAINS '1' && %K BETWEEN {%d, %d}", @"age", , ];
NSArray *result = [personList filteredArrayUsingPredicate:predicate];
谓词的条件指令(1)——逻辑指令
&&
||
!
<
<=
==
>
>=
BETWEEN {}
谓词的条件指令(2)——字符串匹配
BEGANWITH:以指定字符开始
ENDSWITH:以指定字符结束
CONTAINS:包含指定字符,可使用修饰符
c 不区分大小写
d 不区分注音符号
LIKE:使用通配符匹配
? 一个字符
* 0个或多个字符
提示
. 谓词中的匹配指令使用大写字母
. 谓词中可以使用格式字符串
. 如果通过对象的key path指定匹配条件,需要使用 %K
NSPredicate谓词的更多相关文章
- NSPredicate,谓词
原文地址:http://blog.csdn.net/holydancer/article/details/7380799 在语言上,谓语,谓词是用来判断的,比如“我是程序猿”中的是,就是表判断的谓语, ...
- objective-c中使用cocoa的NSPredicate,谓词(十四)
holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details ...
- IOS开发之NSPredicate谓词的用法
编程的人员不管是上过大学还是从培训机构出来的或做后台的.前端的都应该SQL语句有所了解,我们知道,在SQL语句当中 where 条件表达式可以对二维关系表的数据做条件筛选.微软的C# .net中也实现 ...
- NSPredicate 谓词总结 数组过滤 模糊匹配
NSPredicate 用于指定过滤条件,主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配. NSPredicate常用方法介绍 1.创建NSPredicate(相当于创建一个过滤条件 ...
- NSPredicate谓词查询
Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配.谓词表示计算真值或假值的函数. NSPre ...
- NSPredicate谓词的用法
在IOS开发Cocoa框架中提供了一个功能强大的类NSPredicate,下面来讨论一下它的强大之处在哪...NSPredicate继承自NSObject,它有两个派生的子类• NSCompariso ...
- NSPredicate
NSPredicate 1. 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.通常被用来检索.替换那些符合某个模式的文本. 2. iOS中正则使用 有三种(NSPredicate, ...
- NSPredicate的使用
简述 NSPredicate谓词条件过滤器,一般用于过滤数组数据,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 常用函数 创建谓词 + (NSPredicate *)predic ...
- NSPredicate 的使用(持续更新)
NSPredicate 谓词工具一般用于过滤数组数据,也可用来过滤CoreData查询出的数据. 1). 支持keypath 2). 支持正则表达式 在使用之前先新建3个类 Teacher Info ...
随机推荐
- unity, 顶点对齐
按住v键,选中物体的一个顶点,可以对齐到其它物体的某个顶点上. 参考https://docs.unity3d.com/Manual/PositioningGameObjects.html
- 使Maven 2在package、install等阶段跳过运行Test的配置
方法1: To skip running the tests for a particular project, set the skipTests property to true.<proj ...
- powerdsigner java对象模型将中文name生成在注释中
[\n]\ @Title [%Name%\n\n]\ 遗憾的是保存这个配置会出错,每次软件启动后要重新配置. 生成出来的字段样式: /** * 评论时间 * * @pdOid bd8ec6fd-5cb ...
- linux网络编程-(socket套接字编程UDP传输)
今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中, ...
- 1、java中常用名字规范
包名:多个单词组成是所有单词字母小写. 类名.接口名:所有单词首字母大写. 变量名.函数名:多单词组成时第一个单词首字母小写,从第二个单词开始首字母大写. 常量名:所有字母大写,单词之间用 “_” 连 ...
- 推荐csdn里的几篇activiti基础入门及提高的博客
昨天有个网友加qq询问我有没有非maven搭建的activiti项目的demo,因为我博客中写了一个用maven,我当时没有,于是晚上回家尝试了一下,结果比较容易就实现了. 之后和那个网友聊了一下,他 ...
- WebApi:过滤器的种类
WebApi:筛选器的种类 授权筛选器:这些筛选器用于实现IAuthorizationFilter和做出关于是否执行操作方法(如执行身份验证或验证请求的属性)的安全决策.AuthorizeAttrib ...
- java io流(字符流) 文件打开、读取文件、关闭文件
java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...
- 利用Manacher算法寻找字符串中的最长回文序列(palindrome)
寻找字符串中的最长回文序列和所有回文序列(正向和反向一样的序列,如aba,abba等)算是挺早以前提出的算法问题了,最近再刷Leetcode算法题的时候遇到了一个(题目),所以就顺便写下. 如果用正反 ...
- python_day2
一.字符串的基本使用 #!/usr/bin/env python #!-*- coding:utf-8 -*- #!/usr/bin/env python 指定解释器为python abc='hel ...