1

モーダル サブクラス ウィンドウを表示します。

NSWindowController* controller = [[NSWindowController alloc] initWithWindowNibName: @"MyWindow"];
[NSApp runModalForWindow: [controller window]];

initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flagそして、ウィンドウ サブクラスをオーバーライドして、nib ファイルにリンクされている子ビューをセットアップします。しかし、これらの子は現時点では初期化されていません (nil です)。

初期化コードを配置する場所は?

4

1 に答える 1

1

nib/xib ローダーはオブジェクトを作成し (initファミリのコンストラクタの一部を使用して)、未定義の順序でアウトレットをセットアップします。それらがすべて存在し、すべてのアウトレットが設定された後、awakeFromNibnib/xib ファイル (このメッセージを受け入れる) からすべてのオブジェクトに送信されるため、これはほとんどの初期化を実行する適切な場所です。

于 2012-05-24T14:52:21.627 に答える