应用程序退出时 NSAlertPanel 不工作

发布于 2024-10-31 11:17:25 字数 482 浏览 2 评论 0原文

我试图让用户决定是否退出应用程序,并且我一直在尝试使用以下方法来实现它:

- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {
int answer = NSRunAlertPanel(@"Quit", @"Are you sure?", @"Quit", @"Cancel", nil);
if (answer == NSAlertDefaultReturn) { return NSTerminateNow;
} else { return NSTerminateCancel;
}
}

我已将其放置在我的 AppDelegate.m 中,并将委托链接到界面生成器中的主窗口。当我在 Xcode 中调试并运行应用程序并按关闭按钮时,应用程序窗口会关闭,但警报面板不会弹出。

我做错了什么吗?感谢您的帮助!!我是新来的,我希望有人能帮助我。非常感谢!

Im trying to allow the user to decide whether to quit the application or not and Ive been trying to implement it using this:

- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {
int answer = NSRunAlertPanel(@"Quit", @"Are you sure?", @"Quit", @"Cancel", nil);
if (answer == NSAlertDefaultReturn) { return NSTerminateNow;
} else { return NSTerminateCancel;
}
}

I have placed this in my AppDelegate.m and linked the delegate to my main window in interface builder. When i debug and run the application in Xcode, and press the close button, the app window closes but the alert panel does not pop up..

Am i doing something wrong? thank you for your help!! I am new here and I hope someone can help me with this.. Thank you so much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆伤 2024-11-07 11:17:25

默认情况下,关闭窗口不会退出应用程序,因此不会触发警报面板。要使应用程序退出并在用户关闭窗口时显示警报,只需将其添加到委托中:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)aApplication {
     return YES;
}

By default closing a window will not quit the application, thus not triggering your alert panel. To make the application quit and show your alert when the user closes the window just add this to the delegate:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)aApplication {
     return YES;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文