我有一个媒体模型,以及从媒体继承的图像,视频和音频模型。 我正在使用RestKit来映射来自API(rails app)的数据。
有没有办法使用RestKit进行条件映射?如果我的回复包含media_type的视频,则使用视频模型映射,否则使用图像映射等。
更新
RKDynamicMapping *dynamicMapping = [RKDynamicMapping new];
RKObjectMapping *videoMapping = [RKObjectMapping mappingForClass:[MMXMediaVideo class]];
RKObjectMapping *imageMapping = [RKObjectMapping mappingForClass:[MMXMediaImage class]];
[dynamicMapping addMatcher:[RKObjectMappingMatcher matcherWithKeyPath:@"medium_type" expectedValue:@"video" objectMapping: videoMapping]];
[dynamicMapping addMatcher:[RKObjectMappingMatcher matcherWithKeyPath:@"medium_type" expectedValue:@"image" objectMapping:imageMapping]];
如何为视频或图像映射添加映射方法?
答案 0 :(得分:2)
使用动态映射(RKDynamicMapping
)配置响应描述符。此映射检查传入数据以确定应用哪个映射并返回该映射。然后,返回的映射用于执行实际的目标对象创建并运行映射过程。