私はかなり長い間これに固執していて、解決策をインターネットで広範囲に検索しました... IBの接続は正しく設定されており、次のようにawakeFromNibでNSWindowを開くことができます。
NSApp activateIgnoringOtherApps:YES];
[popUp makeKeyAndOrderFront:nil];
問題ありません。awakeFromNibからメソッドを呼び出し、メソッド内の同じ2行を使用してウィンドウを開くこともできます。
このメソッドとそこから呼び出されるメソッドで問題が発生します-NSWindowは開きません:
OSStatus myHotKeyHandler(EventHandlerCallRef nextHandler, EventRef anEvent, void *userData)
{
GeronimoAppDelegate *self = [[GeronimoAppDelegate alloc] init];
[self.popUp makeKeyAndOrderFront:nil];
GeronimoAppDelegate *appDel = (GeronimoAppDelegate *)[NSApp delegate];
[appDel.popUp makeKeyAndOrderFront:nil];
//Run the timer method
[self runBackTimer];
return noErr;
}
ご覧のとおり、NSWindowオブジェクトにアクセスするためにappdelegateを参照してウィンドウを開くための2つのアプローチを試しましたが、どちらも機能しませんでした。このメソッドまたはそこから呼び出されたメソッドからウィンドウを開くことができる必要があります。オブジェクトを誤って参照している可能性がありますか?(これらのメソッドはすべて同じファイルにあります-GeronimoAppDelegate.m)