2014-03-25 58 views
3

我有一个媒体模型,以及从媒体继承的图像,视频和音频模型。 我正在使用RestKit来映射来自API(Rails应用程序)的数据。RestKit条件映射

有没有办法使用RestKit做一个条件映射?如果我的回答包含视频的媒体类型,然后使用视频模型映射否则图像映射等

更新

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]]; 

如何添加一个映射方法的视频或图像映射?

回答

2

您可以使用动态映射配置您的响应描述符(RKDynamicMapping)。该映射检查传入数据以决定哪个映射是适用的映射并将其返回。然后使用返回的映射执行实际的目标对象创建并运行映射过程。

+0

太棒了,谢谢。对于动态映射,你如何关联另一个映射?查看我的问题的更新部分。 – ShivamD

+0

好吧,我找到了最好的方法来做到这一点^。再次感谢你。 – ShivamD