[英]Application exit event
我正在可可中开发一个应用程序。 我的应用程序最初显示一个弹出表。 我需要知道当我们尝试通过右键单击并在 Dock 中的图标上选择“退出”来退出应用程序时触发了哪个事件,因为我无法退出应用程序,因为弹出表。 我该如何解决这个问题?
当在 Dock 菜单中选择 Quit 项时,您的应用会收到一个quit
Apple 事件。 如果你想拦截这个,你需要为这个事件安装一个自定义的 Apple 事件处理程序。 请注意,工作表在工作表被关闭之前阻止应用程序终止是正常的,因此如果您更改此行为,您的应用程序将与其他应用程序不同。
下面是一个简单的示例,说明如何在您的应用程序委托中覆盖quit
Apple 事件的默认处理程序:
- (void)applicationDidFinishLaunching:(NSNotification*)notification
{
//install the custom quit event handler
NSAppleEventManager* appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self andSelector:@selector(handleQuitEvent:withReplyEvent:) forEventClass:kCoreEventClass andEventID:kAEQuitApplication];
}
//handler for the quit apple event
- (void)handleQuitEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAppleEventDescriptor*)replyEvent
{
[self terminate:self];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.