在托管对象上下文中添加 NSSortDescriptor 以获取请求?

Posted

技术标签:

【中文标题】在托管对象上下文中添加 NSSortDescriptor 以获取请求?【英文标题】:Add NSSortDescriptor to Fetch Request in Managed Object Context? 【发布时间】:2013-07-08 20:23:27 【问题描述】:

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

【问题讨论】:

好的,感谢您的帮助。 【参考方案1】:

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

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

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

【讨论】:

以上是关于在托管对象上下文中添加 NSSortDescriptor 以获取请求?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除子托管对象上下文中的临时对象?

如何在托管对象上下文之外使用核心数据对象?

为啥我会得到:非法尝试在不同上下文中的对象之间建立关系...

父/子托管对象上下文究竟是如何工作的?

批量更新后更新托管对象上下文中的托管对象

如何在 RestKit 中请求托管对象而不将其写回托管对象上下文?