NSAlertPanel не работает, когда приложение выходит - PullRequest
0 голосов
/ 09 апреля 2011

Я пытаюсь разрешить пользователю решать, выходить из приложения или нет, и я пытался реализовать его, используя это:

- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {
int answer = NSRunAlertPanel(@"Quit", @"Are you sure?", @"Quit", @"Cancel", nil);
if (answer == NSAlertDefaultReturn) { return NSTerminateNow;
} else { return NSTerminateCancel;
}
}

Я поместил это в свой AppDelegate.m и связал делегатав моем главном окне в конструкторе интерфейсов.Когда я отлаживаю и запускаю приложение в XCode, и нажимаю кнопку закрытия, окно приложения закрывается, но панель предупреждений не появляется ..

Я делаю что-то не так?Спасибо за помощь!!Я новичок здесь, и я надеюсь, что кто-то может помочь мне с этим .. Большое спасибо!

1 Ответ

1 голос
/ 16 июня 2011

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

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)aApplication {
     return YES;
}
...