Выйти из приложения после закрытия последнего окна - PullRequest
1 голос
/ 25 мая 2011

Я хочу закрыть свое приложение, когда закроется последнее главное окно.Я не могу использовать applicationShouldTerminateAfterLastWindowClosed: по следующим причинам:
1. Перед отображением главного окна отображается одно окно подтверждения, и когда это окно закрывается, приложение не должно закрываться.
2. Приложение должно закрываться послезакрытие главного окна, даже если какое-либо окно справки все еще открыто.

Ответы [ 2 ]

13 голосов
/ 25 мая 2011

Вы все еще можете использовать applicationShouldTerminateAfterLastWindowClosed:

Напишите его, чтобы вернуть NO до того момента, когда вы впервые покажете главное окно Сделайте так, чтобы он возвращал YES с этого момента.

Экземпляры NSPanel не учитываются при открытии окон. Таким образом, это будет работать, если ваше окно справки - NSPanel.

0 голосов
/ 25 мая 2011

Что вам нужно сделать, это установить управляющий класс в качестве делегата вашего главного окна, а затем с помощью NSNotificationCenter добавить наблюдателя с NSWindowWillCloseNotification, где вашимWindow является объект.Итак, вот так

NSNotificationCenter *c = [NSNotificationCenter defaultCenter];
[c addObserver:self selector:@selector(yourSelector) name:NSWindowWillCloseNotification object:yourWindow];

Теперь метод yourSelector будет вызываться при закрытии главного окна, поэтому в этом методе просто есть что-то вроде exit (0);

Для получения дополнительной информации перейдите здесь и посмотрите на окноWillClose

...