如何知道一个Cocoa应用程序即将退出?

4

我有一个基于NSDocument的应用程序。我想知道何时应用程序即将退出以验证一些事情。我希望可能会有一个类似于applicationWillQuit的方法,但是在查看NSDocument和NSApplication的文档时,我找不到类似的东西。

我有一个基于NSDocument的应用程序。我想知道何时应用程序即将退出以验证一些事情。我希望可能会有一个类似于applicationWillQuit的方法,但是在查看NSDocument和NSApplication的文档时,我找不到类似的东西。
2个回答

12

2
NSApplicationWillTerminateNotification 由terminate:方法发布,表示应用程序将要终止。 仅在委托方法applicationShouldTerminate:返回YES时发布。通知对象是sharedApplication。此通知不包含userInfo字典。 - uchuugaka
3
您的应用程序委托还可以在applicationShouldTerminate委托方法中确定是否应该首先执行某些操作。NSApplicationWillTerminateNotification仅表示将要发生某事。 - uchuugaka
是的,正确的。- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender 将是这个方法的签名。 - guitarflow
感谢您提供的解决方案和链接,正是我所需要的。 - Joey FourSheds

-1
我们在 AppDelegate.swiftAppDelegate.m 类中有一个委托方法。您可以在关闭应用程序之前使用它并添加功能。
func applicationWillTerminate(_ aNotification: Notification) {
    // Insert code here to tear down your application
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接