applicationDidChangeScreenParameters和[NSWindow orderOut:]

时间:2011-07-17 23:36:07

标签: objective-c cocoa nswindow nsnotifications

在我的应用程序中,应用程序的窗口必须关闭系统更改分辨率。虽然实现- (void)applicationDidChangeScreenParameters:(NSNotification *)notification很容易,但我遇到了一个奇怪的错误。

奇怪的是,当此通知触发时,我的窗口似乎无法响应orderOut:次呼叫。它正在解雇,因为我的NSLog工作正常,我甚至试着放入[NSApp terminate:nil],这也很好。当窗口排除时,还有其他不相关的方法,它们的工作没有问题,这使它变得奇怪。

在这种情况下,我的窗户是否有理由无法关闭?什么可能导致这种情况?

1 个答案:

答案 0 :(得分:0)

你能延迟关闭直到下一次通过事件循环吗?为此,请使用延迟为零的‑performSelector:withObject:afterDelay: