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
ios2012. 10. 24. 17:21

메모리 참조 수 계산 방식(Reference counted Memory Management System)에서 쓰는 선언방식



MRR(Manual retain-release)

개발자에 의해서 의도적으로 관리되는 방식 (참조 수 계산방식)

ARC(Automatic Reference Count)

MRR과 같은 참조 수 계산방식을 사용하지만 컴파일시 적절한 메모리 관리 함수 호출문 넣어서 처리

GC(Garbage Collection)

더이상 참조되지 않은 객체를 자동으로 제거하는 방식으로 MMR, ARC와는 많이 다른 메타니즘을 제공한다.


펌 : [http://irondog.tistory.com/30]

'ios' 카테고리의 다른 글

info.pList  (0) 2012.10.28
IPhone Error 메세지  (0) 2012.10.28
objective c 용어  (1) 2012.10.24
getter/setter  (0) 2012.10.24
Objective c 기초 참고사이트  (0) 2012.10.23
Posted by NeverTry
ios2012. 10. 24. 10:29

assign : 지정한 객체에 메모리를 할당합니다.

retain : 지정한 객체의 값을 메모리에 저장합니다.

release : 지정한 객체를 메모리에서 삭제합니다.

autorelease : 객체에 autorelease 메시지를 전달하면, 객체가 소멸될 때 메모리에서도 자동 삭제됩니다.

이 개념을 Autorelease Pool이라 하는데 이에 대한 정의는 NSAutoreleasePool클래스에서 하고 있다.

drain : 지정한 객체를 메모리에서 비우는 기능입니다. release와 같이 지정한 객체에 대한 메모리를 삭제하는 역할을 하지만, autorelease pool에 있는 객체를 메모리에서 완전히 삭제할때 drain을 사용

nonatomic : 멀티스레드 환경에서 하나의 property에 여럿이 접근을 할 것인가에 대한 lock/unlock을 다루는 부분입니다. ios에서는 멀티스레드에서 작업할 일이 없으므로 대부분 nonatomic으로 선언하지만 멀티스레드로 작업을 하게 되어 여럿이 하나의 property에 접근 하게 되면 atomic속성을 주면 된다.

copy : 참조 변수 카운트를 1 올리는 속성(대부분 object에 사용)

readonly : 읽기만 가능한 property생성 (getter만)

readwrite : 읽기 쓰기가 가능한 property생성  (getter / setter)

'ios' 카테고리의 다른 글

IPhone Error 메세지  (0) 2012.10.28
@autoreleasepool  (0) 2012.10.24
getter/setter  (0) 2012.10.24
Objective c 기초 참고사이트  (0) 2012.10.23
Java에서 Objective c  (0) 2012.10.23
Posted by NeverTry