2014-10-09 4 views
1

My JSON выглядит следующим образом:Restkit: Отображение массива объекта

[ [value1, value2, value3], [value1, value2, value3]] 

Я хочу перебрать внешний массив и отображать каждый внутренний массив объекта, такие как:

@interface MyObject : NSObject 
    @property (nonatomic, copy) NSString* key1; 
    @property (nonatomic, copy) NSString* key2; 
    @property (nonatomic, copy) NSString* key3; 
@end 

Для образца JSON я должен получить два сопоставленных объекта, например MyObject1, MyObject2, где MyObject1 сопоставляется с первым внутренним массивом, а MyObject2 сопоставляется со вторым внутренним массивом. Каждый из них имеет свои свойства, сопоставленные с соответствующими значениями в массиве, то есть key1 == value1, key2 == value2 и key3 == value3.

Любые идеи горячие, чтобы сделать такое отображение?

+0

Я не уверен, что вы просите. Вы хотите сохранить эти массивы значений в массивы? Таким образом, вы будете иметь 'Array1',' Array2' и т. Д., Содержащие 3 строки каждый раз? –

+0

Вы могли бы дать образец своего json? – Smiless

+0

Изменен мой вопрос. Пожалуйста, дайте мне знать, если все еще не ясно. – Shuaib

ответ

0

Так я в конечном итоге обработки было добавить свойство массива в мой объект и отобразить весь массив этого свойства (трансформируемой свойство упаковывают подкласса NSManagedObject)

RKEntityMapping *responseMapping = [RKEntityMapping mappingForEntityForName:@"MyObject" inManagedObjectStore:managedObjectStore]; 

[responseMapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:nil toKeyPath:@"values"]]; 

После завершения отображения , Я назначаю остальную часть значений в блоке завершения:

^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
     [mappingResult.array enumerateObjectsUsingBlock:^(MyObject *obj, NSUInteger idx, BOOL *stop) { 
      obj.key1 = obj.values[0]; 
      obj.key2 = obj.values[1]; 
      obj.key3 = obj.values[2]; 
     }]; 
Смежные вопросы