Laut Apple's documentation scheint es, dass die einzige nicht veraltete Methode für die Anzeige einer Warnmeldung ist, wobei completionHandler
Block ein Argument von NSModalResponse
-Typ nimmt. NSModalResponse
ist eine Enum mit nur 3 possible values: NSModalResponseStop
, NSModalResponseAbort
und NSModalResponseContinue
. Woher weiß ich also, auf welche Schaltfläche in einer Warnmeldung der Benutzer geklickt hat?Wie kann der Rückkehrcode eines Warnhinweises für OS X 10.9+ korrekt erfasst werden?
Antwort
Der Ergebniscode ist nicht wirklich eine Aufzählung in dem Sinne, dass er nicht nur auf die Werte des Typs NSModalResponse
beschränkt ist. Die Enumeration wird nur verwendet, um einige der möglichen Werte zu definieren.
In die Dokumentation für die -addButtonWithTitle:
Methode der NSAlert
, beispielsweise, die die Antwortcodes erzeugen aus der addierten Schaltfläche erläutert: NSAlertFirstButtonReturn
für die ersten, NSAlertSecondButtonReturn
für die zweiten, NSAlertThirdButtonReturn
für die dritten und NSAlertThirdButtonReturn
+ n für nachfolgende Tasten.
Siehe auch die Dokumentation für die -runModal
Methode:
Wenn Sie
alertWithMessageText:defaultButton:alternateButton:otherButton:informativeTextWithFormat:
verwenden, um einen Alarm zu erstellen, werden die folgenden Konstanten verwendet, um die Taste zu identifizieren, verwendet, um den Alarm zu entlassen:NSAlertDefaultReturn
,NSAlertAlternateReturn
undNSAlertOtherReturn
. Ansonsten verwendet die Konstanten sind diejenigen, beschrieben in “Button Return Values.”
, dass die gleiche Regel ist, die mit dem Abschluss Handler, den Sie -beginSheetModalForWindow:completionHandler:
liefern übergeben für den Antwortcode gilt.
- 1. MySQL kann unter OS X 10.9 nicht gestartet werden
- 2. QEinstellungen unter OS X 10.9 - kann nicht gefunden/gelöscht werden
- 3. Wie kompiliere ich PHP mit OpenSSL unter OS X 10.9?
- 4. Wie wird der Rückgabewert eines Unix-Befehls korrekt erfasst?
- 5. Set Desktop-Foto von AppleScript in OS X Mavericks (10.9)
- 6. Eclipse-Menüs deaktiviert auf OS X 10.9 Beta 6
- 7. nginx Anlauf scheitern auf Mac OS X 10.9 mavericks
- 8. Wo ist RCS in Xcode 5.0.1 OS X 10.9
- 9. Ist es möglich, OS X-Anwendungen für OS X Lion mit XCode 7.x
- 10. Erstellen von OpenCV_Python in Mac OS X 10.9 mit Homebrew
- 11. Installation von Apache 2.4 auf OS X Mavericks 10.9
- 12. Wie kann man den Command-Control-Space-Schlüssel von Mac OS X 10.9 lösen?
- 13. Wie kann der Speicher eines OS X-Programms begrenzt werden? ulimit -v weder -m funktionieren
- 14. Java-Applet kann Dateien unter Safari 7 nicht öffnen (Mac OS X 10.9)
- 15. OS-X: Wie kann die Größenänderung eines View Controllers, der als Blatt dargestellt wird, verhindert werden?
- 16. Die Zubehöransicht des Druckfelds wird in OS X 10.11, aber nicht in 10.10 und 10.9 angezeigt.
- 17. psycopg2 mit pip Arbeiten installieren, kann aber nicht importieren Modul auf OS X 10.9
- 18. Bugsymbol für OS X Chrome
- 19. kann nicht installieren mysql2 auf Mac OS 10.9
- 20. Wie kann der Gewinn in Google Analytics erfasst werden?
- 21. Installation der RODBC auf OS X Yosemite
- 22. Wie kann der Vergleich für eine Basisklasse korrekt implementiert werden?
- 23. Installation von nltk für Python 3.4 unter Mac OS 10.9
- 24. Wie werden die Migrationsfehler der Schienen erfasst?
- 25. Fehler bei der Installation von bcrypt mit pip unter OS X: ffi.h kann nicht gefunden werden (libffi ist installiert)
- 26. Wie erkennen, wo NaN zu CoreGraphics API unter Mac OS X 10.9
- 27. Numpy-MKL für OS X
- 28. Erstellen eines OS X-Authentifizierungs-Plugins
- 29. Beobachten anderer Anwendungsfenster Statusänderungen unter OS X
- 30. Picker wie benutzerdefinierte Steuerung für OS X?
Alle 3 NSModalResponse-Werte im Enum sind negativ. Versuchen Sie, den Wert, der an den Beendigungshandler übergeben wird, zu protokollieren, vielleicht wird er stattdessen den angeklickten Schaltflächenindex übergeben, falls zutreffend. – Greg