2011-12-02 2 views
3

Rest 웹 서비스와 통신하는 응용 프로그램을 작성 중입니다. 내가 사용하고있는 JSon 파서는 SBJson이다. 이 웹 서비스는 서버 측에서 beanA를 반환합니다. 이 bean은 beanB를 포함합니다.Objective-c에서 메서드의 반환 형식을 테스트하는 방법

 BeanB =    
     (
      { 
       key = 12; 
       name = test2bbb; 
      }, 
      { 
       key = 11; 
       name = test2ttt; 
      } 
     ); 

한 콩이, 그것은 다음과 같습니다 :

 BeanB =    
     { 
      key = 10; 
      name = test3; 
     }; 

SBJson 파서를 통해 전달 여러 콩이 때 서버 측에서받은 JSON의 일부는 다음과 같이이다 , 하나의 BeanB가 반환 될 때 사전을 얻었고 반환 된 BeanB가 두 개 이상일 때 배열을 가져 왔습니다. 콩을 받기 위해 사용한 코드는 다음과 같습니다.

 NSArray/NSDictionary *BeanB = [BeanADic objectForKey:@"beanB"]; 

문제는 서버 측에서 무엇을 얻을지 예측할 수 없다는 것입니다. 반환 유형을 테스트하는 방법이 있습니까?

답변

5

반환 값의 클래스를 확인하는 것이 적절할 경우입니다.

id beanB = [beanADic objectForKey:@"tagBeans"]; 
if ([beanB isKindOfClass:[NSDictionary class]]) { 
    NSDictionary *beanDic = beanB; 
    ... 
+0

고마워요! 이것은 예기치 않게 빠르다. –