簡體   English   中英

嘗試知道基於macOS Document的應用程序中的窗口何時關閉

[英]Trying to know when a window closes in a macOS Document based application

我試圖知道何時關閉窗口,我實現了以下代碼:

class ViewController: NSViewController, NSWindowDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        let window: NSWindow? = view.window
        window?.delegate = self
    }

    func windowWillClose(_ aNotification: Notification) {
        print("windowWillClose")
    }

}

不幸的是,什么都沒有發生,我該怎么辦?

文件: https : //developer.apple.com/documentation/appkit/nswindow/1419400-willclosenotification

PS我已經讀過這個問題,沒有找到解決方案: 在Swift中處理窗口的關閉事件

問題在於,window屬性將始終在viewDidLoadMethod內部返回nil。 您需要在viewWillAppear方法內設置委托:

class ViewController: NSViewController, NSWindowDelegate {
    override func viewWillAppear() {
        super.viewWillAppear()
        view.window?.delegate = self
    }
    func windowWillClose(_ aNotification: Notification) {
        print("windowWillClose")
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM