NSFetchRequest CoreData条件搜索

NSFetchRequest的实例描述用于从持久性存储检索数据的搜索条件。

根据请求条件,查询一组被管理对象,或在持久性存储器保持的记录数据的标准。

获取请求必须包含一个实体描述( NSEntityDescription的实例) ,指定要搜索的实体。它经常也包含:

1、谓词( NSPredicate的实例) ,指定要选择通过哪些属性和选择的约束。
2、排序描述符阵列( NSSortDescriptor的实例)指定返回的对象应该如何排序。

还可以指定的其他方面获取该请求应该返回对象的请求的最大数量,并且数据存储的要求应访问。随着OS X v10.5及其以后你也可以指定,例如,无论是获取收益管理的对象,或只是对象ID ,以及对象是否完全填充了它们的属性(见resultType,但includesSubentities , includesPropertyValues​​和returnsObjectsAsFaults ) 。在OS X v10.6中及更高版本和iOS上,你还可以指定,例如,什么样的属性来获取,在读取偏移,以及是否被执行它反对在管理对象方面目前未保存的更改相匹配时,取(见与resultType , propertiesToFetch , fetchOffset和includesPendingChanges ) 。也可以取不同的属性值和属性满足给定的功能,如图核心数据片段的值。

@property(nonatomic) NSUInteger fetchBatchSize

如果你设置一个非零批处理大小,执行提取操作时返回的对象的集合是分成批次。当执行时,回迁时,整个请求进行评估和所有匹配对象的身份记录,但是不超过 batchSize 对象的数据将从持久存储区读取一次。从执行请求返回的数组将透明地故障批次点播的代理对象。(在数据库术语中,这是内存中光标。)

您可以使用此功能来限制工作集的数据。与 fetchLimit 相结合,可以创建一个任意的结果集的子范围。

为线程安全的目的,你应该考虑返回的数组代理时作为请求执行反对,并将其视为与该上下文注册托管的对象所拥有的托管的对象的上下文执行提取操作。

原文地址:https://www.cnblogs.com/chensheng12330/p/4936082.html