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

Ben*_*key 6 macos cocoa swift

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

关闭按钮

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

NSApplication.sharedApplication().terminate(self)
Run Code Online (Sandbox Code Playgroud)

Ben*_*key 8

func applicationShouldTerminateAfterLastWindowClosed(sender: NSApplication) -> Bool {
        NSApplication.sharedApplication().terminate(self)
        return true
    }
Run Code Online (Sandbox Code Playgroud)

内部适合我的工作。

对于Swift 4.2

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
        NSApplication.shared.terminate(self)
        return true
    }
Run Code Online (Sandbox Code Playgroud)

  • 只需返回“ true”,应用程序就应终止,正如方法名所示。 (4认同)

TDM*_*TDM 8

Swift 4.1的更新:

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
    NSApplication.shared.terminate(self)
    return true
}
Run Code Online (Sandbox Code Playgroud)

  • 你不需要 `NSApplication.shared.terminate(self)` 行。 (2认同)