2014-10-09 3 views
1

내 JSON 객체에 배열을 매핑은 다음과 같습니다Restkit :

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

:

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

내가 외부 배열을 반복하고, 대상 등 각 내부 배열을 매핑 할 샘플 JSON의 경우 매핑 된 두 객체 (예 : MyObject1, MyObject2, 여기서 MyObject1은 첫 번째 내부 배열에 매핑되고 MyObject2는 두 번째 내부 배열에 매핑됩니다. 배열의 해당 값에 매핑 된 속성, 즉 key1 == value1, key2 == value2 및 key3 == value3

그런 매핑을 할 수있는 아이디어가 있습니까?

+0

나는 당신이 무엇을 요구하고 있는지 확실하지 않습니다. 이러한 값 배열을 배열에 저장하려고합니까? 그래서 매번 3 개의 문자열을 포함하는'Array1','Array2' 등을 가질 수 있을까요? –

+0

json의 샘플을 줄 수 있습니까? – Smiless

+0

내 질문이 수정되었습니다. 여전히 명확하지 않은 경우 알려 주시기 바랍니다. – Shuaib

답변

0

내가 매핑이 완료되면 내 객체에 배열 속성을 추가하고 해당 속성의 전체 배열 (A 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]; 
     }];