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 应用程序实践指南)的更多相关文章

  1. 2.13.3:获取请求模板(Core Data 应用程序实践指南)

    可以不用手动写谓词,用Xcode的Data Model Designer.只是要用到AND .OR等逻辑组合时,还得用代码写谓词. 程序示例操作如下: 选中Model.xcdatamodeld 点击E ...

  2. 2.13. 获取托管对象(Core Data 应用程序实践指南)

    用NSFetchRequest获取NSArray,里面都是托管对象.如果上下文里没有数据,就会从持久化存储区里获取. NSFetchRequest *request = [NSFetchRequest ...

  3. 2.13.1. 对结果排序(Core Data 应用程序实践指南)

    传递NSSortDescriptor给NSFetchRequest进行排序.示例如下,修改demo方法: NSSortDescriptor *sort = [NSSortDescriptor sort ...

  4. [转帖]Breeze部署kubernetes1.13.2高可用集群

    Breeze部署kubernetes1.13.2高可用集群 2019年07月23日 10:51:41 willblog 阅读数 673 标签: kubernetes 更多 个人分类: kubernet ...

  5. ABP(现代ASP.NET样板开发框架)系列之13、ABP领域层——数据过滤器(Data filters)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之13.ABP领域层——数据过滤器(Data filters) ABP是“ASP.NET Boilerplate P ...

  6. [CoreOS 转载] CoreOS实践指南(四):集群的指挥所Fleet

    转载:http://www.csdn.net/article/2015-01-14/2823554/2 摘要:CoreOS是采用了高度精简的系统内核及外围定制的操作系统.ThoughtWorks的软件 ...

  7. C# 之 读取Word时发生 “拒绝访问” 及 “消息筛选器显示应用程序正在使用中” 异常的处理

    1.Asp.net中建立Microsoft.Office.Interop.Word.Application时出现 “ 拒绝访问 ” 错误 项目中要实现在服务器端打开一个Word模版文件,修改其内容后再 ...

  8. Kubernetes集群的监控报警策略最佳实践

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79652064 本文为Kub ...

  9. [CoreOS 转载]CoreOS实践指南(二):架设CoreOS集群

    转载:http://www.csdn.net/article/2015-01-04/2823399 摘要:CoreOS是一个采用了高度精简的系统内核及外围定制的操作系统.ThoughtWorks的软件 ...

随机推荐

  1. 把一个 int 数字 n 格式化成16进制的字符串(前面补零成0位)

    例如,输入n=10,要求输出 0x0000000A; C++:  sprintf( buffer, "0x%08X", n); C#:    string s = string.F ...

  2. Activity中 左滑动返回监听

    网易新闻中有个比较炫的效果,在QQ进入聊天界面也有这种效果,就是从界面左侧滑动到右侧时,界面退出,其实功能很容易实现: 1) Activity 去实现 implements OnTouchListen ...

  3. Codeforces Round #364 (Div. 2)C. They Are Everywhere(尺取法)

    题目链接: C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input ...

  4. Total Highway Distance

    Total Highway Distance 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi and Little Ho are playing a ...

  5. [Big Data]从Hadoop到Spark的架构实践

    摘要:本文则主要介绍TalkingData在大数据平台建设过程中,逐渐引入Spark,并且以Hadoop YARN和Spark为基础来构建移动大数据平台的过程. 当下,Spark已经在国内得到了广泛的 ...

  6. php 中的魔术方法-----“事件方法”

    来源:http://lornajane.net/posts/2012/phps-magic-__invoke-method-and-the-callable-typehint php 中的这个对象 , ...

  7. 子序列和问题 acm

    题目描述 给定一个序列 {a1,a2,…,an},定义从a[l]到a[r]的连续子序列的和为sum[l,r],即sum[l,r]=sigma{ai},l<=i<=r.(1<=l< ...

  8. aspx界面中,怎么调用后台的方法,处理某个数据

    <%# GetUrl(Eval("Url").ToString(),Eval("ID").ToString()) %> GetUrl() 就是后台的 ...

  9. C socket udp方式发数据

    #define HOST_SERVER_IP "192.168.3.35" #define HOST_PORT 9501 #define SLEEP_TIME 1 #define ...

  10. Mapreduce 反向索引

    反向索引主要用于全文搜索,就是形成一个word url这样的结构 file1: MapReduce is simple file2: MapReduce is powerful is simple f ...