2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)
Core Data通过谓词(NSPredicate)来筛选,比如限定获取的数量等。谓词基本对存储区不敏感,但也有例外,比如:matches可用在 in-memory存储区,但是不能用在SQLite存储区。谓词是SQL里面的where子句。
在筛选的过程中,每个托管对象都会根据谓词求值,根据返回的YES或NO取舍。
具体的谓词规则查阅:developer.apple.com 并搜索Predicate Programming Guide。
程序修改代码如下:
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Item"];
NSPredicate *filter = [NSPredicate predicateWithFormat:@"name != %@",@"Coffee"];
[request setPredicate:filter]; [request setSortDescriptors:[NSArray arrayWithObject:sort]];
NSArray *itemObjects = [_coreDataHelper.context executeFetchRequest:request error:nil];
for (Item *item in itemObjects) {
NSLog(@"item name = %@", item.name);
}
2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)的更多相关文章
- 2.13.3:获取请求模板(Core Data 应用程序实践指南)
可以不用手动写谓词,用Xcode的Data Model Designer.只是要用到AND .OR等逻辑组合时,还得用代码写谓词. 程序示例操作如下: 选中Model.xcdatamodeld 点击E ...
- 2.13. 获取托管对象(Core Data 应用程序实践指南)
用NSFetchRequest获取NSArray,里面都是托管对象.如果上下文里没有数据,就会从持久化存储区里获取. NSFetchRequest *request = [NSFetchRequest ...
- 2.13.1. 对结果排序(Core Data 应用程序实践指南)
传递NSSortDescriptor给NSFetchRequest进行排序.示例如下,修改demo方法: NSSortDescriptor *sort = [NSSortDescriptor sort ...
- [转帖]Breeze部署kubernetes1.13.2高可用集群
Breeze部署kubernetes1.13.2高可用集群 2019年07月23日 10:51:41 willblog 阅读数 673 标签: kubernetes 更多 个人分类: kubernet ...
- ABP(现代ASP.NET样板开发框架)系列之13、ABP领域层——数据过滤器(Data filters)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之13.ABP领域层——数据过滤器(Data filters) ABP是“ASP.NET Boilerplate P ...
- [CoreOS 转载] CoreOS实践指南(四):集群的指挥所Fleet
转载:http://www.csdn.net/article/2015-01-14/2823554/2 摘要:CoreOS是采用了高度精简的系统内核及外围定制的操作系统.ThoughtWorks的软件 ...
- C# 之 读取Word时发生 “拒绝访问” 及 “消息筛选器显示应用程序正在使用中” 异常的处理
1.Asp.net中建立Microsoft.Office.Interop.Word.Application时出现 “ 拒绝访问 ” 错误 项目中要实现在服务器端打开一个Word模版文件,修改其内容后再 ...
- Kubernetes集群的监控报警策略最佳实践
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79652064 本文为Kub ...
- [CoreOS 转载]CoreOS实践指南(二):架设CoreOS集群
转载:http://www.csdn.net/article/2015-01-04/2823399 摘要:CoreOS是一个采用了高度精简的系统内核及外围定制的操作系统.ThoughtWorks的软件 ...
随机推荐
- 创建mysql数据库的时候指定编码
CREATE DATABASE xxx DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- sencha touch环境搭建
引入touch文件,包括resources和sencha-touch-debug.js文件 index.html文件内容如下: <!DOCTYPE HTML> <html> & ...
- PAT (Advanced Level) 1013. Battle Over Cities (25)
并查集判断连通性. #include<iostream> #include<cstring> #include<cmath> #include<algorit ...
- 计算机学院大学生程序设计竞赛(2015’12) 1005 Bitwise Equations
#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using ...
- 二叉树查找(C#)
参考文章: http://www.cnblogs.com/huangxincheng/archive/2012/07/21/2602375.html http://www.cnblogs.com/xi ...
- IT人常用的网站
一.网页设计类 蓝色理想 http://www.blueidea.com 网页设计师联盟 http://www.68design.net 网页设计大本营 http://www.code-123.com ...
- 转 java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
转自:http://blog.csdn.net/zb0567/article/details/7893063 java.lang.ClassNotFoundException: org.apache. ...
- createNewFile()与createTempFile()的不同
1, File 的 createNewFile() 方法: createNewFile():返回值为 boolean: 方法介绍:当且仅当不存在具有此抽象路径名指定名称的文件时, ...
- HDU 3874 Necklace
莫队算法. #include<cstdio> #include<cstring> #include<cmath> #include<queue> #in ...
- jquery刷新iframe页面的方法(兼容主流)
1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取 ...