Событие для кнопки Red Close для NSWindowController

Как я могу обработать событие, когда я нажимаю красную кнопку закрытия NSWindowController?

Причина в том, что у меня есть видео, воспроизводимое в новом окне NSWindowController, и когда пользователь нажимает кнопку красной кнопки, звук продолжает воспроизводиться, поэтому я хочу использовать это событие, чтобы закрыть видео.

Ответы

Ответ 1

Сделайте ваш подкласс NSWindowController совместимым с протоколом NSWindowDelegate и будет делегатом соответствующего окна. Сделав это, выполните:

- (void)windowWillClose:(NSNotification *)notification {
    // whichever operations are needed when the
    // window is about to be closed
}

в подклассе NSWindowController.

Ответ 2

В моем случае мне нужно наблюдать за событием, см. fooobar.com/info/317948/...

NotificationCenter.default.addObserver(self, selector: #selector(windowWillClose(_:)), name: Notification.Name.NSWindowWillClose, object: nil)