2014-10-08 52 views
0

我好奇傳遞給完成處理程序NSAlert方法是什麼不變在NSAlert的完成處理程序中需要什麼編號?

- (void)beginSheetModalForWindow:(NSWindow *)sheetWindow completionHandler:(void (^)(NSModalResponse returnCode))handler 

它是一個數字,如NSModalResponseStop = -1000或NSModalResponseAbort = -1001? 如何在警報中有多個按鈕的情況下知道按下了哪個按鈕?

回答

1

按鈕返回值與beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo: 相同。 NSAlert documentation中的「按鈕返回值」下列出了可能的值:

按鈕的警報返回值取決於位置。以下常量描述了警報前三個按鈕的返回值(假定語言從左向右讀取)。

enum { NSAlertFirstButtonReturn = 1000, NSAlertSecondButtonReturn = 1001, NSAlertThirdButtonReturn = 1002 };

相關問題