使用cocoa捕获dock栏中的“退出”事件,解决qt开发的应用程序退出异常的问题

  最近在移植一个QT开发的应用程序到mac平台,由于我们的应用在退出时需要释放一些资源,不然在mac系统会报崩溃事件,但是当用户使用dock栏上面的退出功能时,没有捕获到这个退出事件,导致无法正常退出。于是向经验丰富的同事请教,获知可以使用cocoa来捕获退出事件,从而解决这个问题,由于当时按QT的关键字没有查到相关资料,特在此记录一下。

定义一个继承NSApplicationDelegate的接口:

 

@interface ApplicationDelegate :NSObject<NSApplicationDelegate>

+(ApplicationDelegate *)instance;

@end

 

重载这个函数:

(void)applicationWillTerminate:(NSNotification *)aNotification
{
// 调用你的相关处理函数
}

完工。

具体信息可参考 https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSApplicationDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSApplicationDelegate/applicationWillTerminate:


posted on 2015-10-06 15:27  xinghebuluo  阅读(1226)  评论(0编辑  收藏  举报

导航