Macos NSView是否有办法知道其窗口何时关闭?
我正在处理一个NSView子类,我想知道它的窗口何时关闭,以便我可以执行某些内务管理任务。这样做的标准方法是什么?如果可能,我希望在NSView子类中执行此操作,因为我希望能够在其他地方使用此子类,而无需其他依赖项。您可能可以为创建扩展方法 根据文件说明: 在以下情况下调用此方法:Macos NSView是否有办法知道其窗口何时关闭?,macos,cocoa,nsview,nswindow,Macos,Cocoa,Nsview,Nswindow,我正在处理一个NSView子类,我想知道它的窗口何时关闭,以便我可以执行某些内务管理任务。这样做的标准方法是什么?如果可能,我希望在NSView子类中执行此操作,因为我希望能够在其他地方使用此子类,而无需其他依赖项。您可能可以为创建扩展方法 根据文件说明: 在以下情况下调用此方法: 该视图即将从窗口的视图层次结构中删除 视图将被隐藏或遮挡,例如,如果视图控制器的父对象是选项卡视图控制器,并且用户切换到另一个选项卡,则视图将被隐藏或遮挡 窗口正在关闭 但是,这是针对NSViewContr
- 该视图即将从窗口的视图层次结构中删除
- 视图将被隐藏或遮挡,例如,如果视图控制器的父对象是选项卡视图控制器,并且用户切换到另一个选项卡,则视图将被隐藏或遮挡
- 窗口正在关闭
但是,这是针对
NSViewController
,而不是NSView
,您可以覆盖-viewDidMoveToWindow
,如果self.window
不是nil
,则让视图开始观察来自窗口的NSWindowWillCloseNotification
通知
同样,覆盖-view将移动到窗口:
,如果self.window
不是nil
,则停止观察该窗口的通知