所以,假设我有一个这样的方法,用于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:
方法将被调用并且 NOTHING 将被返回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];
问题 :
我怎么能这样做,以便显示警报表,并在同一方法(canCloseDocument:
)中检索值(按下确定?按下取消?),以便它可以返回YES
或NO
?