ios - 如何在 RestKit 中定义不在同一 JSON 文档中的实体之间的关系映射?

标签 ios core-data restkit restkit-0.20

使用 RestKit 0.20.2

例子: 我设置了 2 个核心数据实体“Album”和“Song”以及定义一个专辑有几首歌曲和一首歌曲属于一张专辑的关系。

我制作了实体映射,我可以成功显示相册列表。

我打电话:

/albums 获取相册

/albums/:albumId/songs 获取albumId

指定专辑的歌曲

我从来没有一个 JSON 文档同时包含一张专辑及其歌曲。 (github 上所有可用的 RestKit 示例都假定您处理一个将所有实体放在一起的 JSON 文档)

我如何设置两个实体之间的关系,以便让 RestKit 在我的 Core Data 对象存储中正确写入?

最佳答案

您需要使用 RKObjectManager 和路由。

在配置您的映射时,包括从路由 URL 中提取 albumId 并将其存储到歌曲的临时属性中的项目:

@"@metadata.routing.parameters.albumId": @"connectionAlbumId",

然后,您可以添加关系映射以将歌曲连接到适当的专辑:

[songMapping addConnectionForRelationship:@"album" connectedBy:@{ @"connectionAlbumId": @"identity" }];

其中 @"identity" 是相册管理对象上保存身份的属性的名称。

关于ios - 如何在 RestKit 中定义不在同一 JSON 文档中的实体之间的关系映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17208183/

相关文章:

ios - 使用 Storyboard从 XIB 加载 UIView - View 的属性为零

ios - 使用 NSURLCache 时如何清除缓存的响应和 ETag 信息?

ios - 我的核心数据模型出了什么问题?

ios - 在 objective-c 中更改导航状态栏文本颜色时出错

ios - NSDate格式在模拟器上正确,在设备上错误

swift - 如何快速理解设置为私有(private)的全局变量?

iphone - 将大量数据插入 Core Data 需要多少时间

ios - NSManagedObject 作为 MKAnnotation 和核心数据并发

ios - RestKit ios 相同类型的嵌套对象

ios - 如何使用 RestKit 将源 JSON 映射到结构不同的模型?