向托管对象添加手动关系

Posted

技术标签:

【中文标题】向托管对象添加手动关系【英文标题】:Adding manual relationship to your managed object 【发布时间】:2015-03-26 04:42:34 【问题描述】:

我有一个托管对象,比如说产品,我还有另一个对象,它从另一台服务器获取数据并且已经存储为托管对象。就您从服务器获得的 JSON 数据而言,您无法将这两个对象关联在一起。唯一的方法是在发送请求之前手动完成。有没有办法使用 Restkit 创建关系?

【问题讨论】:

请求的 URL 是什么(大概有一些唯一的标识符)? 它通常没有关于请求它的对象的任何信息。但是我可以在请求中注入一个 id 并将其作为结果中的一个字段,如果它是我们可以使用的东西 【参考方案1】:

如果您在请求路径或响应正文中的某处具有源对象的唯一标识符,那么您可以在映射中使用它并执行外键映射以连接源对象和响应对象之间的关系。

如果身份在请求路径中,那么您需要使用RKRoute 来准备请求,并在映射中使用@metadata.routing.parameters 来提取身份。如果它在响应正文中,则适用标准映射方法。

一旦你拥有它,你将它映射到你的目标对象的一个​​临时属性中。

一旦你有了,你可以perform your foreign key mapping。

【讨论】:

以上是关于向托管对象添加手动关系的主要内容,如果未能解决你的问题,请参考以下文章

何时向托管对象添加类别以及何时使用瞬态属性?

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

添加到托管对象有序集中

使用一对多关系向 CoreData 添加新对象

使用 Restkit 上传图像 - 向 UITableView 添加两行而不是一行

CoreData 关系延迟加载?