问题在于window属性将始终在viewDidLoadMethod内部返回nil。您需要在viewWillAppear方法中设置委托:
class ViewController: NSViewController, NSWindowDelegate { override func viewWillAppear() { super.viewWillAppear() view.window?.delegate = self } func windowWillClose(_ aNotification: Notification) { print("windowWillClose") }}


