2011-12-16 9 views
2

나는 종종무엇입니까 [슈퍼 awakeFromNib]; 사용?

나의 이해는 창 것이보기 컨트롤러의 슈퍼 클래스 (말하고있는 뷰 컨트롤러의 구현에 awakeFromNib 방법이 코드의 라인

[super awakeFromNib] 

참조)에서 awakeFromNib으로 변경됩니다. 맞습니까? 그렇다면 UIView Controller 하위 클래스의 awakeFromNib 메서드에서 깨어나도록 창을 지정해야하는 이유는 무엇입니까?

답변

3

은이보기 컨트롤러의 슈퍼 클래스를 말하고있다 나의 이해 ...

바로 지금까지 ...

(것 창)

oops - 이것이 혼란의 원인입니다.

"보기 컨트롤러의 수퍼 클래스"는 UIViewController입니다. "super"는 UIViewController 하위 클래스가 상속하는 기본 클래스를 나타냅니다. 그것은 당신의 견해를 감싸는 창문과 관련이 없습니다.

그래서 하위 클래스 구현에서 수행중인 작업 외에도 기본 UIViewController의 기본 awakeFromNib 구현을 호출합니다. 다윗이 이상했다 올바른지 무엇

+0

감사합니다. 그렇다면 왜 UIViewController에 깨어 있어야한다고 말합니까? –

+0

nib 파일에서로드 된 후 초기화하려는 상태 정보가있을 수 있습니다. 일반적으로 하위 클래스에서 재정의하는 메서드의 '슈퍼'구현을 호출하는 것이 좋습니다. –

1

, 귀하의 질문에 대한 지금

"왜 우리는 UIView의 컨트롤러 하위 클래스의 awakeFromNib 메소드에서 깨어 창을 이야기해야합니까?"

사용자 지정 수정 또는 ViewController가로드되기 전에로드 할 데이터가있는 경우 awakeFromNib을 사용해야합니다.

awakeFromNib은 컨트롤러 자체가 펜촉에서 아카이브되지 않은 경우에 호출됩니다.

관련 문제