用户关闭窗口时识别(单击关闭按钮时)

时间:2012-04-08 06:15:17

标签: objective-c xcode macos cocoa nswindow

我如何识别用户关闭窗口的时间?

我想在关闭窗口前做点什么。

2 个答案:

答案 0 :(得分:12)

我在viewcontroller中使用它

//initWithNibName

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowWillClose:) name:NSWindowWillCloseNotification object:self.view.window];

- (void)windowWillClose:(NSNotification *)notification
    {
        NSWindow *win = [notification object];
        //...
    }

答案 1 :(得分:1)

您可以声明自定义类符合NSWindowDelegate协议。

将自定义类的实例设置为窗口的委托

然后在窗口关闭之前使用其中一种方法(可能是windowWillClose:one)来做某事。

- (BOOL)windowShouldClose:(id)sender
- (void)windowWillClose:(NSNotification *)notification