2012-03-28 5 views
0

내가 다음 코드를 사용하여 전화를 그것은 오류가 발생하지 INIT [NSKeyedArchiver 초기화] : 초기화NSKeyedArchiver는

코드를 -init을 사용할 수 없습니다 : - 때문에 NSKeyedArchiver 클래스 아무튼입니다

NSKeyedArchiver *a=[[NSKeyedArchiver alloc] init]; 

답변

2

"plain vanilla"init 메소드가 없습니다.

+0

하지만 NSObject의 수퍼 클래스는 그 방법이 – andyPaul

+1

입니다. NSObject 문서를 보면 "NSObject 클래스에 정의 된 init 메소드는 초기화하지 않고 단순히 자체를 반환합니다" 서브 클래스는 자신의 init 메소드를 구현하기로되어있다. – rdelmar

+0

또한 클래스에 지정된 초기 값을 기본값으로 호출하는 private init 메소드가있는 클래스도 있다고 생각한다. 어쩌면 NSKeyedArchiver가 없어요. 예를 들어, initWithFrame : 대신 init을 사용하여 NSView를 초기화 할 수 있습니다. 그러면 zeroRect가 포함 된 뷰가 제공되므로 내부적으로 NSView는 init을 사용하여 초기화 할 때 initWithFrame : NSZeroRect를 호출합니다. – rdelmar