у меня возникла проблема с RKDynamicObjectMapping
, однако, возможно, я неправильно его использую.
у меня следующий сценарий
- запрос в сервис для получения площадей
- выбрать район
- запросить в сервисе получение журналов по выбранной области
данные, возвращаемые обоими вызовами, выглядят так
{ d: [{cutID:""}, {cutID:""}, {cutID:""}] }
{ d: [{journalID:""}, {journalID:""}, {journalID:""}] }
у меня есть следующий код
RKObjectMapping* cutMapping = [RKObjectMapping mappingForClass:[Cut
class]];
[cutMapping mapKeyPath:@"CutID" toAttribute:@"cutID"];
RKObjectMapping* journalMapping = [RKObjectMapping mappingForClass:
[Journal class]];
[journalMapping mapKeyPath:@"journalID" toAttribute:@"journalID"];
RKDynamicObjectMapping * dynamicMapping = [RKDynamicObjectMapping
dynamicMapping];
[dynamicMapping setObjectMapping:journalMapping
whenValueOfKeyPath:@"__metadata.type" isEqualTo:@"JournalDetails"];
[dynamicMapping setObjectMapping:cutMapping
whenValueOfKeyPath:@"__metadata.type" isEqualTo:@"Cut"];
[[[RKObjectManager sharedManager] mappingProvider]
setMapping:dynamicMapping forKeyPath:@"d"];
....
[objectManager loadObjectsAtResourcePath:getResourcePath
delegate:self];
....
и позже
[objectManager loadObjectsAtResourcePath:getResourcePath
delegate:obj];
результаты первого запроса, который возвращает Cut
объектов, сопоставляются безупречно, но не для второго, который возвращает Journal
объектов. вход в систему request:didLoadResponse
показал, что служба возвращает ожидаемый json, поэтому проблема связана с сопоставлениями, как заставить ее работать с двумя сопоставлениями?
Кто-нибудь уже использует RestKit Dynamic Mapping?