Итак, скажем, у меня есть такой метод, который используется для проверки того, был ли изменен document
, перед его фактическим закрытием:
- (BOOL) canCloseDocument:(id)document
{
if ([document modified])
CONFIRM_ALERT(@"Close Document",
@"Are you sure you want to close this document?",
[[core browser] window],
@selector(confirm:code:context:),
nil);
else
return YES;
}
В этом случае будет вызван метод confirm:code:context:
, и canCloseDocument
НИЧЕГО не вернет.
Вот мое определение CONFIRM_ALERT
:
#define CONFIRM_ALERT(X,Y,Z,W,V) \
NSAlert* confirmAlert = [NSAlert alertWithMessageText:X \
defaultButton:@"OK" \
alternateButton:@"Cancel" \
otherButton:nil \
informativeTextWithFormat:Y]; \
[confirmAlert beginSheetModalForWindow:Z \
modalDelegate:self \
didEndSelector:W \
contextInfo:V];
Вопрос:
Как я могу сделать так, чтобы лист предупреждений отображался, а значение (нажато OK? Нажато отмена?) извлекалось в том же методе (canCloseDocument:
), чтобы он мог возвращать либо YES
, либо NO
?