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);

时间: 2024-12-11 09:27:38

IOS 谓词的相关文章

iOS:转载:IOS谓词--NSPredicate

IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数,它使用起来有点儿像SQL 的查询条件,主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配.首先我们看一个非常简单的例子,对谓词有一个认知.#import <Foundation/Foundation.h>@interface Person: NSObje

iOS谓词匹配字符串以及替换

1.判断某个字符串是否符合某个正则表达式,通常用这个方法: // 判断字符串首字符是否为字母 NSString *string = @"wo"; // 1.准备正则式 NSString *regex = @"^[A-Za-z]*$"; // 只能是字母,不区分大小写 // 2.拼接谓词 NSPredicate *predicateRe1 = [NSPredicate predicateWithFormat:@"self matches %@",

ios 谓词的使用

首先,我们需要知道何谓谓词,让我们看看官方的解释: The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering. NSPredicate类是用来定义逻辑条件约束的获取或内存中的过滤搜索.可以使用谓词来表示逻辑条件,用于描述对象持久性存储在内存中的对象过滤.其实意思就是:我是一个过滤器,不符合条件

iOS 谓词讲解

1.NSPredicate (1)比较运算符 1.比较运算符 > .< .== . >= .<= . != 运算符还可以跟逻辑运算符一起使用,&&  ,  || ,AND, OR 谓词不区分大小写 NSPredicate *p = [NSPredicate predicateWithFormat:@"age >= 18 && name = '周周'"]; //根据谓词要求返回响应数组 NSArray * personList

iOS开发中的技巧, 注意事项

以后开发中常用的知识和小技巧: 需要掌握的第三方框架: 网络请求类:AFNetworking(必须).ASIHTTPRequest(和可能会用到,尽量掌握) 图片加载类:SD WebImage(必须) 数据库:FMDB 瀑布流:第三方和系统自带的.PS:系统自带的瀑布流只支持iOS6或者以上系统 抽屉效果:有多个如:MMDrawerController 下拉刷新:第三方和系统自带的,PS:系统自带的UIRefreshControl只支持iOS6或者以上系统 UIWebView主要是于JS的交互

中文Appium API 文档

该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/slate/cn/master/?ruby#about-appium 中文Appium API 文档 第一章:关于appium1.1 appium客户端客户端类库列表及Appium服务端支持 这些类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON 格式selenium命令以及额外的

Appium 定位

使用过 Appium 的都知道,元素的定位方式有很多种,具体使用哪一种,主要看业务的需要和自己的使用爱好.下面总结一下,Appium 到底有哪些定位方式,定位的元素以下面截图指定的元素为例子: 这里给 Macaca 的 inspector 查看器打个广告,的确很好用,有需要可到社区的 Macaca 版块自己查找啊! Appium 的定位方式种类 我说的定位方式都是基于我自己亲测过,没使用或比较少用的就在这里不列举了,如有错误的地方,请多多包涵!常用的定位方式(仅限 Android 和 iOS 两

谓词的使用 -ios

#import <Foundation/Foundation.h> @interface Person : NSObject<NSCopying> @property(nonatomic,copy) NSString *name; @property(nonatomic,retain) NSNumber *age; -(void) setNewName:(NSString *) name; @end #import "Person.h" @implementat

IOS开发之NSPredicate谓词的用法

编程的人员不管是上过大学还是从培训机构出来的都应该SQL语句有所了解,我们知道,在SQL语句当中 where 条件表达式可以对二维关系表的数据做条件筛选.微软的C# .net中也实现了功能能和SQL语句相媲美的技术,它就是List泛型集合的Lambda表达式,支持查找.排序.比较.组合等.在java中虽然没有在语言中集成对List对象的操作的实现,但是第三方开源库同样实现了这一功能.在IOS开发Cocoa框架中提供了一个功能强大的类NSPredicate,下面来讨论一下它的强大之处在哪...NS