代码:

#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 ;
}

最新文章

  1. D2js 的邦联式架构
  2. React-Native运行知乎日报遇到的问题
  3. MacPort 的使用
  4. CAS认证原理图
  5. jBPM4.3+ssh+会签 整合配置及完整实例
  6. SecureCRT的SFTP在Windows与Linux之间传输文件
  7. Eclipse maven工程 Missing artifact com.sun:tools:jar:1.5.0:system 解决方法
  8. makefile:4: *** missing separator. Stop.
  9. LDF文件过大的解决办法
  10. js常用内置对象及方法
  11. python基础-------函数(三)
  12. python笔记之函数
  13. jar包自动化部署---jenkins
  14. method.invoke(...)反射点
  15. Airtest iOS测试环境部署
  16. AngularJS2 环境搭建:
  17. 《Linux内核设计与实现》 第五章学习笔记
  18. Linux使用tcpdump命令抓包并使用wireshark分析
  19. MYSQL 5.7修改密码,登录问题
  20. C# 递归模型定义。赋值

热门文章

  1. Scrum Meeting---Eleven(2015-11-6)
  2. iOS - OC RunLoop 运行循环/消息循环
  3. Differences between volume, partition and drive
  4. golang文件上传和下载
  5. Maven——Maven核心概念
  6. HTML的&lt;body&gt;标签详解与HTML常用的控制标记
  7. 测试耗电量的工具(Android)
  8. 如何使div左右倾斜
  9. noip赛前小结4
  10. hdu 2570