在NSAlert的完成处理程序中需要什么编号?
问题描述:
我好奇传递给完成处理程序NSAlert方法是什么不变在NSAlert的完成处理程序中需要什么编号?
- (void)beginSheetModalForWindow:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler
它是一个数字,如NSModalResponseStop = -1000或NSModalResponseAbort = -1001? 如何在警报中有多个按钮的情况下知道按下了哪个按钮?
答
按钮返回值与beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:
相同。 NSAlert documentation中的“按钮返回值”下列出了可能的值:
按钮的警报返回值取决于位置。以下常量描述了警报前三个按钮的返回值(假定语言从左向右读取)。
enum { NSAlertFirstButtonReturn = 1000, NSAlertSecondButtonReturn = 1001, NSAlertThirdButtonReturn = 1002 };