2012-04-02 2 views

답변

8

기술적으로 아니오. documentation for -[NSObject init]

NSObject 클래스에 정의 된 init 방법이 더 초기화를하지 않습니다 말한다; 단순히 self을 반환합니다.

이를 문서화하고 그것에 의존하는 코드의 무리는 사실 매우 맥 OS X의 향후 버전에서 변경 가능성

편집이라고, 이미 거기에 아마 때문에 :BoltClock's a Unicorn가 제공 최대 쌍곡선을 만들고 싶습니다. 프로그램을 실행하는 모든 사용자에게 -[NSObject init]을 호출하지 않아도 저장된 총 시간은 클래스의 수퍼 클래스를 무언가로 변경 한 경우 발생하는 디버깅 시간을 초과 할 가능성은 거의 없습니다. NSObject 이외의 전화 번호는에 추가해야합니다.. documentation에서

4

, 전혀 초기화를 할 나타나지 않습니다

NSObject의 클래스에 정의 된 init 메서드는 초기화를하지 않는다; 단순히 self을 반환합니다. 당신은 어쨌든 하위 클래스에서 호출 알고,

가 나는 [super init]를 호출하지 해가 될 생각하지만 규칙을 따라야하지 않을 이유가 없습니다합니다. 예를 들어, 하위 클래스가 나중에 다른 클래스에서 상속하는 결과를 초래할 수 있습니다.이 경우 하위 클래스에서 필요로하는 초기화 로직이 자체 -init 메서드에 포함될 수 있습니다.

0

명확하고 정확한 것을 수행해야하기 때문에 구현시 super 중 하나를 호출하면됩니다.