【问题标题】:Add NSSortDescriptor to Fetch Request in Managed Object Context?在托管对象上下文中添加 NSSortDescriptor 以获取请求?
【发布时间】:2013-07-08 20:23:27
【问题描述】:
我在可视化编辑器中为我的核心数据模型创建了一个获取请求“MyRequest”(您也可以在其中可视化添加实体)。既然创建了 fetch 请求,我如何向它添加排序描述符?如果我以编程方式从托管对象模型中检索它,它不允许我向它添加排序描述符,因为它说我不允许对模型中的不可变对象进行更改。 ..
【问题讨论】:
标签:
core-data
nsfetchrequest
nssortdescriptor
【解决方案1】:
fetchRequestTemplateForName: 返回一个不可变的获取请求,因为它存储在
模型,但fetchRequestFromTemplateWithName:substitutionVariables: 创建了一个可以修改的新获取请求。
如果您没有任何替换变量,则可以使用空字典
参数:
NSFetchRequest *request = [managedObjectModel fetchRequestFromTemplateWithName:@"name" substitutionVariables:@{}];
NSSortDescriptor *desc = ...;
[request setSortDescriptors:@[desc]];