2012-06-22 2 views
0

핵심 데이터 모델에 정수 배열이 있습니다. 이것은 변형 가능한 것으로 설정됩니다.RestKit 및 핵심 정수 배열 데이터

json으로 나는 다시 서버에서 얻을 다음과 같은 형식으로 나에게 번호의 목록을 제공 : 다음 없기 때문에

{ "numbers": [10, 3, 2], "name": "John Smith" } 

내가 내 객체 매핑을 구성 : fullName의와

[dataMapping mapKeyPath:@"numbers" toAttribute:@"numberList"]; 
[dataMapping mapKeyPath:@"name" toAttribute:@"fullName"]; 

아무 문제가있는 String입니다.

그러나 개체가로드 된 후에도 numberList가 null로 유지됩니다 (모든 일반 매개 변수는 잘로드됩니다). 나는 웹에서 주위를 둘러 보았지만 무엇을 찾을 지 모릅니다.

아이디어가 있으십니까?

답변

2

이것은 값 변환기에 문제가있는 것 같습니다. 이것을 시도해보고 그것이 효과적인지 아닌지 말해봐. 이것은 ARC 코드입니다. 이전에 내가 좀 더 명확하게 내 질문을 고정 정확 .H

@interface NSArrayValueTransformer : NSValueTransformer 

@end 

하는 .m

#import "NSArrayValueTransformer.h" 

@implementation NSArrayValueTransformer 

+ (BOOL) allowsReverseTransformation { 
    return YES; 
} 

+ (Class) transformedValueClass { 
    return [NSData class]; 
} 

- (id) transformedValue:(id)value { 
    if(!value) 
     return nil; 

    if([value isKindOfClass: [NSData class]]) 
     return value; 

    return [NSKeyedArchiver archivedDataWithRootObject: value]; 
} 

- (id) reverseTransformedValue:(id)value { 
    return [[NSKeyedUnarchiver unarchiveObjectWithData: value] mutableCopy]; 
} 

@end 
0

json을 처리 할 때 예상되는 keyPath는 예에서 "data.numbers"와 유사합니다.

즉, json 결과의 첫 번째 항목이 여전히 중요합니다.

+0

내가 가진 예

. 어떤 아이디어? – JonathanC

+0

하나의 가능한 제안 : numberList 배열은 매핑되기 전에 비 -nil이어야하지만 비어 있어야 할 수도 있습니다. –