使用 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/