나는 NSView
과 인스턴스 변수 NSImage * image;
에서 상속 된 간단한 클래스 MyView
을 가지고 있습니다. 클래스 기능은 뷰에 이미지를 그리는 것입니다. 이 함수 -init:
초기화되지 않은 경우 nil
NSView 초기화 : -init : -awakeFromNib :
그러나 nil
-drawRect:
화상 인스턴스 항상 동일, 그것은 -awakeFromNib:
초기화 된 경우. 로그에는 -init:
및 -awakeFromNib:
함수가 한 번만 호출된다는 것을 보여줍니다.
-awakeFromNib:
기본적으로 GUI 구성 요소를 다시 초기화합니까?
어떤 경우에는 '-initWithFrame' [가 전혀 호출되지 않습니다] (http://stackoverflow.com/questions/433539/initwithframe-not-called-but-awakefromnib-is). – jlstrecker
사용자 정의 서브 클래스의'initWithFrame :'이 전혀 호출되지 않을 때 _one_ 경우 만 존재합니다 : IB 팔레트 (예 :'NSImageView')에있는 다른'NSView' 서브 클래스에서 상속 받았을 때, ID 관리자에서 클래스를 변경하여 사용자 정의 하위 클래스를 만듭니다. 이 경우, AppKit 서브 클래스의'initWithFrame :'_이 호출 될 것이고, 커스텀 서브 클래스는'awakeFromNib' 전에'initWithCoder :'를 얻을 것입니다. IB의 "Custom View"객체를 사용하여 뷰 인스턴스를 생성하면 뷰의'initWithFrame :'이 실제로 호출됩니다. –