数组中查找
2016-01-11 14:02
218 查看
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。 定义(最常用到的方法): NSPredicate这个类有点类似于数据库中的查询,是用于在一批内容中查询符合条件的子集,中文翻译成“谓词”。这个翻译实在让我感觉很别扭,虽然明知道和谓语这个词语没什么关系,但确实总让我感觉这是一个句子里面的成分。 我们有些时候会有一个对象的数组或者集合,然后希望从里面找出符合条件的集合,类似于做一次过滤操作。比如我有一批照片,希望能找出所有某一天里面拍摄的内容。 NSPredicate类的创建往往使用predicateWithFormat的方法,这个方法的使用有点类似于stringWithFormat方法。 */ //查询数组中含有“ang”的字符串 NSArray *array = [[NSArray alloc]initWithObjects:@"beijing",@"shanghai",@"guangzou",@"wuhan", nil]; NSString *string = @"ang"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF CONTAINS %@",string]; NSLog(@"%@",[array filteredArrayUsingPredicate:pred]); ; //查找名字里面包含“王”的姓 NSArray *array1 = [[NSArray alloc]initWithObjects:@"小王",@"王力",@"李丽",@"方方", nil]; NSString *match = @"*王*"; //查找姓王的名字,王字必须为首字则修改NSString *match=@"王*"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like %@", match]; NSArray *results = [array1 filteredArrayUsingPredicate:predicate]; for (id str in results) { NSLog(@"%@",str); } } return 0; }
相关文章推荐
- Android数据格式解析对象JSON用法
- #!/usr/bin/env python与#!/usr/bin/python的区别
- 51单片机控制的收音机(带串口,遥控,芯片89S52+LC72131+LA1845N)
- iOS蓝牙连接外设
- Could not open Selected VM debug port (8700) (转)
- HTTP状态码集
- linux_无密登录
- JAVA深入研究——Method的Invoke方法。
- 4道JAVA基础题
- poj3667
- 一种月计划模版
- GreenDao数据库结构升级
- 去掉 微软win10 免费升级提示 找不到KB3035583的一种方案
- ajax(四) Ajax应用:验证用户名是否可用
- MediaExtractor的seekTo方法精确定位到指定帧
- eclipse
- IOS利用SDWebImage来下载头像图片
- java数组转换字符串
- mysql5.6的my.cnf配置详解
- Keychain