Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos NSView是否有办法知道其窗口何时关闭?_Macos_Cocoa_Nsview_Nswindow - Fatal编程技术网

Macos NSView是否有办法知道其窗口何时关闭?

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

我正在处理一个NSView子类,我想知道它的窗口何时关闭,以便我可以执行某些内务管理任务。这样做的标准方法是什么?如果可能,我希望在NSView子类中执行此操作,因为我希望能够在其他地方使用此子类,而无需其他依赖项。

您可能可以为创建扩展方法

根据文件说明:

在以下情况下调用此方法:

  • 该视图即将从窗口的视图层次结构中删除

  • 视图将被隐藏或遮挡,例如,如果视图控制器的父对象是选项卡视图控制器,并且用户切换到另一个选项卡,则视图将被隐藏或遮挡

  • 窗口正在关闭


但是,这是针对
NSViewController
,而不是
NSView
,您可以覆盖
-viewDidMoveToWindow
,如果
self.window
不是
nil
,则让视图开始观察来自窗口的
NSWindowWillCloseNotification
通知

同样,覆盖
-view将移动到窗口:
,如果
self.window
不是
nil
,则停止观察该窗口的通知