iOS 数组 filter 对象
来源:互联网 发布:java在线答题系统源码 编辑:程序博客网 时间:2024/06/12 23:46
通常情况下,根据一个条件在数组中查询出匹配的对象的方式有如下几种:
(1)遍历数组,然后将每一个Item和这个条件进行比对,过滤出匹配的对象
显然这个效率比较低
(2)iOS提供另一个效率较高的查询方法,谓词NSPredicate,使用方法如下
- 1.NSString 对象
- NSArray *array =@["123", @"234" , @"345"];
- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [cd] %@", "2"];
- NSArray *filterdArray = [array filterdArrayUsingPredicate:predicate];
- NSLog(@"%@", filterdArray );
- //output : @"123", "234"
- 2.含有属性的对象
- @interface Person: NSObject
- {
- NSString *_name;
- NSString *_telephone;
- NSInteger _id;
- }
- @property (nonatomic, copy) NSString *name;
- @property (nonatomic, copy) NSString *telephone;
- @property (nonatomic, assign) NSInteger id;
- @end
- //
- 1).等于查询
- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", "Ansel"];
- NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
- 2).模糊查询
- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name CONTAINS %@", @"A"]; //predicate只能是对象
- NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
0 0
- iOS 数组 filter 对象
- IOS 根据对象属性值过滤数组中的元素 Filter NSMutableArray with object property
- iOS 数组/对象排序
- iOS对象数组排序
- ES5数组对象的forEach, map, filter方法
- iOS数组中查找对象
- ios json对象转为对象数组
- ios json对象转为对象数组
- ios的对象数组生成jsonarray
- ios的对象数组生成jsonarray
- iOS 查询数组中的对象 谓词NSPredicate
- iOS 对数组中的对象进行排序
- ios开发 数组中添加空对象
- iOS NSKeyedArchiver序列化 存储数组对象
- iOS对存放对象的数组排序
- iOS 自定义对象数组去重
- iOS 对数组中的对象进行排序
- iOS字典对象和数组对象转成json
- android CursorLoader用法介绍
- 浅谈 qmake 之 pro、pri、prf、prl文件
- opencv2.4.9在vs2010中的配置
- linux采用liveCd模式,reboot后保存数据丢失问题解决方案。
- SAP-MM模块的自动过账(事务说明)
- iOS 数组 filter 对象
- Android处理延时加载的方法
- Linux delete folder
- 剑指offer 包含min函数的栈
- CentOS6.7下LNMP环境安装zabbix3.0
- mvn常见命令
- linux驱动基础系列--linux rtc子系统
- 四级联动
- LeetCode *** 17. Letter Combinations of a Phone Number