ios2012. 10. 28. 14:48

Error : setValue : forUndefinedKey:
         This class is not key value coding-compliant for the key <class name> 
원인 : 어떤 컨트롤에 할당된 class 명이 잘못되었거나 명시되지 않은 경우 
해결방법 : IB에서 각각의 컨트롤에 할당된 class 명을 조사하여 수정한다. 
예 : tabbar controller를 사용하는 경우 각각의 tab 에 nib 파일을 매핑하는 것 만으로는 부족하다. 
     각각의 tab마다 해당 tab에 대응하는 class 명이 적절히 지정되었는지 class identifier를 조사한다. 


Error : unrecognized selector sent to instance ~ 
원인 : 보통 프로토콜 메소드를 잘못 구현한 경우 발생, 또는 컨트롤과 이벤트가 잘못 연결된 경우 
해결방법 : 해당 프로토콜 메소드를 찾아 수정 
예 : (UIImage *) 를  return 하는 함수에 (NSString *)를 return 하도록 구현한 경우 함수내에서 
     (UIImage *) 를 return하도록 수정 

Error : setText is deprecated ~ 
원인 : SDK의 이후버전에서 없어질,, 하지만 현재는 지원하기는 하는 속성값에 대한 경고 
해결방법 : 해당 메소드를 최신의 메소드, 최신의 속성으로 변경 
예 : cell.text 는 이전버전의 형태, 최신의 형태는 api reference를 찾아보면 cell.textLabel.text 로 
     나와있으므로 그 형태로 수정 

Error : expected specifier-qualifier-list before ~ 
원인 : interface 정의에서 property 지정이 잘못된 경우 
해결방법 : interface 정의와 property가 일치하는지 확인후 수정 
예 : 
  @interface LocalizeMeViewController : UIViewController { 
      IBOutlet UILabel * localeLabel; 
     IBOutlet UILabel * label1; 
  } 
  @property (nonatomic, retain) localeLabel; 
  @property (nonatomic, retain) UILabel * label1; 
  @end 
  위의 예에서 localeLabel은 UILabel * 형인데 property에서는 아무런 형표시 없이 속성지정 
  따라서 @property (nonatomic, retain) localeLabel; 이 부분을 
          @property (nonatomic, retain) UILabel* localeLabel; 로 수정 

Error : run time에 아무 에러없이 프로그램이 멈추는 경우 발생 
원인 : 잘못된 형 처리 
해결방법 : 잘못된 data type에 대해 처리하거나 제한 
예 : (NSString *)이 들어와야 할 자리에 (NSInteger)형이 실행시간에 들어올 경우 처리못하는 경우발생 


펌 : [http://blog.ohmynews.com/fervent/rmfdurrl/250082]

'ios' 카테고리의 다른 글

nib but the view outlet was not set.  (0) 2012.10.31
info.pList  (0) 2012.10.28
@autoreleasepool  (0) 2012.10.24
objective c 용어  (1) 2012.10.24
getter/setter  (0) 2012.10.24
Posted by NeverTry