2014-03-25 272 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