2014-02-04 3 views
1

Я хочу получить подтверждение с пользователем, что он хочет, чтобы закрыть единственное окно, и с этим всем приложениемподтверждения 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, но это тоже не сработало.

Любые идеи о том, что я делаю неправильно здесь?

ответ

Смежные вопросы