RestKit RKDynamicObjectMapping работает только для первого результата JSON - PullRequest
0 голосов
/ 20 января 2012

У меня возникла проблема с RKDynamicObjectMapping, однако это может быть что я этим злоупотребляю.

У меня есть следующий сценарий

  1. запрос в службу для получения районов
  2. Выберите область
  3. запрос в службу, чтобы получить журналы для выбранной области

данные, возвращаемые обоими вызовами, выглядят так

{ 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?

1 Ответ

2 голосов
/ 24 января 2012

Я предполагаю, что вы проверили, что ваш Cut объект сопоставляется с отношением ко многим в сущности CoreData?

Если это так, вы можете включить ведение журнала RESTKit и опубликовать результаты

...