Я хочу получить подтверждение с пользователем, что он хочет, чтобы закрыть единственное окно, и с этим всем приложениемподтверждения Objective-C перед закрытием окна
До сих пор у меня есть это:
- (BOOL)windowWillClose:(id)sender{
NSAlert *alert = [[NSAlert alloc] init];
[alert addButtonWithTitle:@"Yes"];
[alert addButtonWithTitle:@"No"];
[alert setMessageText:@"Are you sure you want to quit?"];
[alert setInformativeText:@"Quiting will stop the machine, please make sure it is back to its origin."];
[alert setAlertStyle:NSWarningAlertStyle];
[alert setShowsSuppressionButton:YES];
NSInteger result = [alert runModal];
if (result == NSAlertFirstButtonReturn) {
return YES;
} else {
return NO;
}
}
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
return YES;
}
Окно и приложение закрываются перед тем, как появится алерт, если я удалю applicationShouldTerminateAfterLastWindowClosed
, мое окно закрывается, ничего не происходит. но когда я включил его и положил allert в applicationShouldTerminateAfterLastWindowClosed
, аллерт работал, но, к тому же мое окно уже закрыто.
Я также пробовал его с windowShouldClose
, но это тоже не сработало.
Любые идеи о том, что я делаю неправильно здесь?