一般来说,用户会通电点击 x 按钮来关闭
网上一般会说这种方案:(不建议使用)
class BaseWindowController: NSWindowController {
...
@objc func terminateWindow(notification: NSNotification) {
...
NSApp.terminate(self)
}
...
}
我阅读了下 WindowController 的借口,发现其中有一个 close 方法,我们稍加替换,吧 NSApp 换成我们的 WindowController 本身看看效果
class BaseWindowController: NSWindowController {
...
@objc func terminateWindow(notification: NSNotification) {
...
close()
}
...
}
有没有一个办法,能直接在 view 上,把它的 WindowController 关了呢?我帮他家搜寻了一番,终于找到了正解
extension LoginViewController {
@objc func onSucceed(notification: NSNotification) {
...
NSView().window?.close()
...
}
@objc func onFailed(notification: NSNotification) {
/// TODO:
}
}