Я долгое время застрял на этом, и я искал в Интернете по всему миру решение ... Соединения в IB настроены правильно, и я могу откройте мой NSWindow в awakeFromNib следующим образом:NSWindow не будет отображаться в методе обработчика событий OSStatus
NSApp activateIgnoringOtherApps:YES];
[popUp makeKeyAndOrderFront:nil];
без проблем. Я также могу вызвать метод из awakeFromNib и открыть окно, используя те же две строки в методе.
Проблема возникает в этом методе и в любых методов, вызываемых из нее - 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;
}
Как вы можете видеть, я попробовал два подхода к открытию окна со ссылкой на appdelegate для доступа к объекту NSWindow, но ни один из них не работал. Мне нужно открыть окно из этого метода или вызванного из него метода. Я могу неправильно ссылаться на объект? (Все эти методы находятся в одном файле - GeronimoAppDelegate.m)
Вот и все! У меня не было выход делегата объекта приложения, связанного с делегатом приложения. Ты спасатель жизни! Большое спасибо. –