IOS 谓词
// 谓词
Person *person = [[Person alloc]init];
person.name = @"zhang san";
person.age = 20;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like 'zhang1*'"];
BOOL resultFlag = [predicate evaluateWithObject:person];
NSLog(@"resultFlag = %i", resultFlag);
NSString *testStr = @"我是测试的字符串";
NSPredicate *strPredicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS '测试'"];
BOOL resultFlag1 = [strPredicate evaluateWithObject:testStr];
NSLog(@"resultFlag1 = %i", resultFlag1);
// 过滤简单集合
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"高级中学1班",@"初级中学1班",@"初级中学2班",@"小学六年级",@"高级中学2班", nil];
NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"SELF like '高级中学*'"];
[array filterUsingPredicate:predicate1];
NSLog(@"array = %@", array);
// 过滤对象集合
Person *person1 = [[Person alloc]init];
person1.name = @"student1";
person1.age = 20;
Person *person2 = [[Person alloc]init];
person2.name = @"student2";
person2.age = 21;
Person *person3 = [[Person alloc]init];
person3.name = @"student3";
person3.age = 22;
Person *person4 = [[Person alloc]init];
person4.name = @"student4";
person4.age = 23;
NSMutableArray *studentArray = [[NSMutableArray alloc]initWithObjects:person,person1,person2,person3,person4, nil];
NSLog(@"studentArray = %@", studentArray);
// NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"name CONTAINS 'student'"];
// [studentArray filterUsingPredicate:predicate2];
// NSLog(@"studentArray = %@", studentArray);
//
// NSPredicate *predicate3 = [NSPredicate predicateWithFormat:@"age > 21"];
// [studentArray filterUsingPredicate:predicate3];
// NSLog(@"studentArray = %@", studentArray);
// 谓词中使用占位符 %K - 属性名占位符 %@ - 属性值占位符
NSPredicate *predicate4 = [NSPredicate predicateWithFormat:@"%K CONTAINS %@", @"name", @"student"];
[studentArray filterUsingPredicate:predicate4];
NSLog(@"studentArray = %@", studentArray);
IOS 谓词的更多相关文章
- iOS:转载:IOS谓词--NSPredicate
IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在 ...
- ios - 谓词的使用
谓词在搜索的时候非常管用.简单示例代码如下: 分类Person.h文件 #import <Foundation/Foundation.h> @interface Person : NSOb ...
- iOS 谓词讲解
1.NSPredicate (1)比较运算符 1.比较运算符 > .< .== . >= .<= . != 运算符还可以跟逻辑运算符一起使用,&& , || ...
- iOS 谓词(NSPredicate)的应用
Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredica ...
- IOS自动化定位方式
原文地址http://blog.csdn.net/wuyepiaoxue789/article/details/77885136 元素属性的介绍 type:元素类型,与className作用一致,如: ...
- 关于UI自动化IOS元素定位方法说明
1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnable ...
- (转载)中文Appium API 文档
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...
- 中文Appium API 文档
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...
- appium desktop
Appium-desktop 下载地址:https://github.com/appium/appium-desktop/releases 一般功能 这些能力跨越多个驱动因素. 仅限Android 这 ...
随机推荐
- [题解+总结]动态规划大合集II
1.前言 大合集总共14道题,出自江哥之手(这就没什么好戏了),做得让人花枝乱颤.虽说大部分是NOIP难度,也有简单的几道题目,但是还是做的很辛苦,有几道题几乎没思路,下面一道道边看边分析一下. 2. ...
- Windows Phone 8 LongListSelector实现下拉自动刷新列表
LongListSelector是一个加强版的列表控件,它可以实现分组的列表,如系统人脉列表的交互效果就可以利用LongListSelector控件去实现,同时LongListSelector也一样可 ...
- man page分類與說明
轉載自http://itzone.hk/article/article.php?aid=200407152225014657 (如有侵權,請留言或來信告知) 前言 Man page是每位程式設計員及U ...
- JS调用水晶报表打印翻页按钮事件
默认的水晶报表打印按钮.翻页按钮太小,并且样式不好调整,考虑自己做一个按钮,然后调用水晶报表的按钮事件. 在实际操作中发现可以在.net按钮的服务器端事件中调用翻页方法: CrystalReportV ...
- Hightcharts动态创建series
第一种方法: 申明options时动态设置series,然后再创建chart对象 代码如下: <html> <head> <title>Highcharts Exa ...
- DBLink创建 ORA-12154: TNS: 无法解析指定的连接标识符
因为对oracle不了解,这个问题可TM的搞了好久! 走的弯路: 1. 在客服端的PLSQL连接工具上折腾,而不是在服务器的PLSQL解决 2. 配置的tnsnames.org文件在环境变量path( ...
- MVVM Command Binding: InvokeCommandAction v.s. EventToCommand
This gives you the ability to create a trigger on an event and bind it to an ICommand on the view mo ...
- Git初使用
今天开始初次使用Git,Git作为一个使用广泛的分布式版本控制系统,我们有必要熟悉掌握. 这次主要是实现将本地上的“Hello World”的完整的项目文件提交到github上新建的代码库,主要过程如 ...
- Odoo 仓库扫码打包方案
Odoo仓库扫码的设计,前提是操作人在PC上先做好分拣单,然后根据打印出来的分拣单去仓库进行扫码打包,默认的情况下,分拣在被确认的时候会自动保留库位中已经存在的库存(已经分配批次\序列号),而 ...
- [转载]对于GetBuffer() 与 ReleaseBuffer() 的一些分析
先 转载一段别人的文章 CString类的这几个函数, 一直在用, 但总感觉理解的不够透彻, 不时还有用错的现象. 今天抽时间和Nico一起分析了一下, 算是拨开了云雾: GetBuffer和Rele ...