5
可以通過mapKeyPath點語法強制RestKit對象映射器映射到數組中的特定嵌套對象?RestKit嵌套映射到特定數組項目
這裏是我試圖映射
<result is_array="true">
<item>
<_field_data>
<nid>
<entity>
<field_region>
<und is_array="true">
<item>
<value>1</value>
</item>
</und>
</field_region>
....
我只是在將永遠爲field_region返回的第一個項目感興趣的響應。
這是什麼映射的正確方式?
我已經試過的各種迭代:
RKManagedObjectMapping *record = [RKManagedObjectMapping mappingForClass:[MyRecordClass class] inManagedObjectStore:objManager.objectStore];
[record mapKeyPath:@"_field_data.nid.entity.field_region.und.0.item.value" toAttribute:@"region"];
和我不斷收到錯誤類似於:
T restkit.object_mapping:RKObjectMappingOperation.m:152 Found transformable value at keyPath '_field_data.nid.entity.field_region.und.0.item.value'. Transforming from type '__NSArrayI' to 'NSNumber'
W restkit.object_mapping:RKObjectMappingOperation.m:232 Failed transformation of value at keyPath '_field_data.nid.entity.field_region.und.0.item.value'. No strategy for transforming from '__NSArrayI' to 'NSNumber'
我通過調用映射:
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:kMyResourcePath usingBlock:^(RKObjectLoader* loader) {
loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[MyRecordClass class]];
loader.method = RKRequestMethodGET;
loader.delegate = self;
loader.targetObject = nil;
}];
任何想法?非常感謝!
感謝。我在映射中研究了這種映射,但認爲它更智能(更簡單)來簡化服務器響應。 – Ted