使用RestKit 0.20.2
例:
我建立了2个核心数据实体“专辑”和“歌曲”,并建立了关系,以定义一张专辑包含多首歌曲,而一首歌曲属于一张专辑。
我进行了实体映射,并且可以成功显示相册列表。
我打电话 :/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"
是属性的名称,该属性用于保存相册管理对象上的身份。