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 |