+1 für NSError
.
Ich vergesse, wo in den Apple Docs ich lese das, aber ich erinnere mich auch daran, sie ermutigen die Codierung Philosophie "versuchen Sie zuerst, dann auf Fehler überprüfen," im Gegensatz zu "auf Gültigkeit überprüfen, dann die Operation." Zum Beispiel, anstatt zu sehen, ob das Netzwerk verfügbar ist, bevor Sie es verwenden, versuchen Sie einfach, es zu benutzen und auf einen Fehler zu antworten, wenn/wenn Sie einen zurückbekommen. Ich stimme dieser Philosophie für viele Anwendungsfälle zu, weil (a) die Gültigkeitsprüfung auf den Moment des Handelns verlagert wird, also gewissermaßen genauer und (b, subjektiv) macht es mehr Spaß mit Code zu arbeiten dieses Muster.
Zusammenfassend ist der Vorschlag, NSError
zu verwenden, und sofortige Rückmeldung mit NSError**
Parameter zu geben, die NULL
akzeptieren, um sehr freundlich zu Ihren API-Benutzern zu sein! Dieses Muster wird auch an mehreren Stellen in Cocoa/Touch festgelegt; zum Beispiel die NSString
Methode writeToFile:atomically:encoding:error:.
Diese Frage könnte ein Duplikat von http://stackoverflow.com/questions/1503348/returning-errors-in-objective-c und http://stackoverflow.com/questions/2169728/how-shouldi- Handle-Fehler-in-api –