2009-09-02 2 views

답변

0

init가 호출 된 후 자동으로 이라고하는 것은 없습니다. 이와 같은 것을 원한다면 NSObject를 서브 클래 싱하는 것만으로도 간단히 -init를 호출하고 직접 메소드를 호출 할 수 있습니다.하지만 그렇게하고 있다면 init 자체에서 원하는 작업을 수행 할 수 있습니다.

다른 클래스를 하위 클래스 화하는 경우 해당 클래스의 문서를 보면 사용자의 요구에 맞는 것이있을 수 있습니다. 예를 들어, NSManagedObject에는 awakeFromInsert/Fetch 등이 있습니다.

1

발전하는 다음 당신이 필요로의 :

클래스가 연결되면, +load 메서드가 호출됩니다
  • 처음으로 당신의 클래스가 사용되면, 방법이 호출됩니다.

이러한 방법 중 하나를 재정의 할 수 있습니다. 그렇다면 을로드하거나 초기화하는 클래스가 의도 한 클래스 인인지 확인해야합니다. 그렇지 않으면 누군가가 하위 클래스를 만들고 메서드를 재정의하지 않으면 unpredictable results을 사용하여 메서드를 두 번 호출 할 수 있습니다.

Objective-C 방법에서 항상 self을 사용할 수 있습니다. 이것은 메소드에 대한 암묵적인 인수 일 뿐이며 특별한 의미는 없습니다.

관련 문제