2

特にNSWindowsのような重いオブジェクトでは、オブジェクトが必要になったときにのみ、オブジェクトの遅延インスタンス化に賛成です。残念ながら、私はWebKitビューを使用していて、ページをプリロードする方法(最大10秒かかる場合があります)が必要ですが、アプリが起動したらすぐにビュー階層の初期化を開始したいと思います。タスクバーアプリケーションを構築しているので、起動時にウィンドウが表示されません。

私の最初の本能は簡単な「非表示と表示」ですが、ウィンドウにそれ自体をアーカイブ解除してそのメソッドawakeFromNibを呼び出すように強制するより良い方法があるはずです。windowDidLoad

4

1 に答える 1

2

ウィンドウの管理に NSWindowController を使用している場合は、ウィンドウ コントローラの-windowメソッドを呼び出して、ウィンドウを表示せずにロードすることができます。そのようです:

// Window is not loaded
[windowController window];
// Window is now loaded but not on screen
[windowController showWindow:nil];
// Window is now visible
于 2013-03-07T16:16:01.997 に答える