10

NSWindowController initWindowNibName を使用してロードする NIB ファイルがあります。NIB ファイルには 1 つの NSWindow が含まれています。ファイルの所有者はクラス NSWindowController です。ファイルの所有者からウィンドウにウィンドウアウトレットを接続しました。

NIB をロードすると、[windowController window] は nil であり、最上位のオブジェクト配列も同様です。ただし、[windowController showWindow:nil] を呼び出してウィンドウを正常に表示することはできます。

ここで何かがうまくいかないようです。接続とファイルの所有者に問題がないことを確認しました。実際、デバッガーで windowController インスタンスの _owner 値を見ると、期待どおりに自分自身を指していることがわかります。

何が起こっているのかについての提案はありますか?

ありがとう!

4

2 に答える 2

7

あなたが言うとき、あなた[windowController window]はこれをどのように決定していますか? -window初めて呼び出されるまで、NIB は実際にはロードされません。したがって、デバッガーで見ている場合は、_window呼び出すまで nil と表示されますshowWindow:。その後、_windownil 以外の値を持つ必要があります。

于 2009-05-14T18:38:29.087 に答える
5

NSWindowControllerをサブクラス化しましたか?

これを行うときは、MyWindowControllerというNSWindowControllerを使用initWithWindowNibName:して、サブクラスのinit

次に、ファイルの所有者をMyWindowControllerクラスを指すように設定します。

于 2009-05-13T09:58:25.740 に答える