NSWindowInterfaceBuilderで設定しました。のクラスを自分に設定し、コントローラーのプロパティFile's Ownerを自分NSWindowControllerにリンクしました。私のコントローラーはを実装しています。windowNSWindowNSWindowDelegate
これで、コントローラーに次のものを追加しました。
- (void)windowDidLoad
{
[super windowDidLoad];
[self.window setDelegate:self];
}
- (void)windowDidBecomeMain:(NSNotification *)notification
{
NSLog(@"Did become main.");
}
それでも、-windowDidBecomeMain:呼ばれていません。なぜこれなのか誰か知っていますか?
編集:
AppDelegate起動時からウィンドウを表示しようとしています。メインペン先(で宣言Info.plist)には、にリンクされているメニュー項目のみが含まれていますAppDelegate。アプリケーションデリゲートでは、ステータスバーにアイコンを表示し、このアイコンをクリックすると、メインのペン先からメニューを表示します。アプリケーションデリゲートでは、ロジックを処理するためにウィンドウコントローラーを割り当てる必要があるウィンドウも表示したいと思います。これが機能すると、ウィンドウ通知が届くと思います。
さて、次のコードはウィンドウを表示せず、理由がわかりません。
DemoWindowController *dwc = [[DemoWindowController alloc] initWithWindowNibName:@"DemoWindowController"];
[dwc showWindow:self];
selfこれがアプリケーションデリゲートであることに注意してください。