У меня возникла проблема с 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?