2016-12-22 4 views
0

Objective-C에 JSONModel 클래스가 있습니다. JSON을 서버에서 반환하여 초기화 중입니다.Objective-C에서 동일한 변수를 사용하여 JSONModel 클래스를 두 가지 유형으로 만드는 방법은 무엇입니까?

#import "JSONModel.h" 

@protocol MyJsonMoodelClass 

@end 

@interface MyJsonMoodelClass : JSONModel 

@property (nonatomic, strong) NSNumber <Optional> * idFilm; 

이 JSON은 idFilm라는 변수를 포함하고, 때로는 형 NSNumber의 반환하지만, 다른 배열에 반환됩니다. exaple를 들어

:

idFilm : 5 

또는

idFilm : [2, 5] 

내가 이것을 제어 할 수있는 방법은 내가 두 가지 유형, NSNumberNSArray에 의해 정의 된 같은 변수를 가질 수 있습니까? 가능한 제어 할 수 있습니까?

+1

출발점을 할 수 있습니다. 그러나 이것은 (isKindOfClass')로 무엇을하기 전에 항상 어떤 타입인지를 확인해야만하고 대부분의 경우 JSON으로 자연스럽게 변환되지 않으므로 대부분의 상황에서는 좋은 생각이 아닙니다. 추가 업무. 항상 배열을 사용하는 것이 좋을 것이고, 숫자를 얻는다면 그 숫자를 배열에 넣고 대신 배열 (즉, 하나의 요소 만있는 배열)을 사용하십시오. –

답변

0

"설정"방법을 재정의하는 경우? 이 같은 :

- (void)setIdFilm:(id)idFilm 
{ 
    if([idFilm isKindOfClass:NSArray]) 
     ... 
    else 
     ... 
} 

내가 일을 할 수 있는지 모르지만 당신의 NSNumber하고있는 NSArray 모두의 슈퍼 클래스 인 NSObject의로 설정할 수