OS X app swift 2.2上的关闭按钮事件

时间:2017-01-12 05:46:19

标签: swift macos cocoa

我正在使用swift 2.2版创建一个OSX应用程序。当用户点击我的应用程序左上角的关闭按钮时,我需要执行一个方法,我现在是Cocoa编程中的新手,现在任何人都是单击关闭按钮时执行的事件(参见图像)。

Close button

我的目的是当我将我的应用程序放在停靠栏上时,单击关闭按钮后未打开(单击关闭按钮后显示应用程序下方的黑点),但是在一个案例中右键单击并强制退出,然后单击应用程序停靠它将重新打开。我认为通过在关键按钮事件中给出下面给出的代码将解决我的问题。

NSApplication.sharedApplication().terminate(self)

2 个答案:

答案 0 :(得分:7)

Swift 4.1的更新:

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
    NSApplication.shared.terminate(self)
    return true
}

答案 1 :(得分:4)

func applicationShouldTerminateAfterLastWindowClosed(sender: NSApplication) -> Bool {
        NSApplication.sharedApplication().terminate(self)
        return true
    }

为我提供内部工作。

适用于Swift 4.2

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
        NSApplication.shared.terminate(self)
        return true
    }