将NSSortDescriptor添加到托管对象上下文中的获取请求?

时间:2013-07-08 20:23:28

标签: core-data nsfetchrequest nssortdescriptor

我在可视化编辑器中为我的核心数据模型创建了一个获取请求“MyRequest”(您也可以在其中直观地添加实体)。既然已经创建了获取请求,我该如何向它添加排序描述符?如果我以编程方式从托管对象模型中检索它,它不允许我向它添加排序描述符,因为它说我不允许对模型中的不可变对象进行更改。 ..

1 个答案:

答案 0 :(得分:3)

fetchRequestTemplateForName:返回一个不可变的提取请求,因为它存储在 model,但fetchRequestFromTemplateWithName:substitutionVariables:创建了一个可以修改的新提取请求。

如果您没有任何替换变量,则可以使用空字典 参数:

NSFetchRequest *request = [managedObjectModel fetchRequestFromTemplateWithName:@"name" substitutionVariables:@{}];
NSSortDescriptor *desc = ...;
[request setSortDescriptors:@[desc]];