Ziemlich einfache Frage:Obj-C: NSError im Initialisierer
Ich habe eine Init-Methode auf meiner Klasse, die das Potenzial hat, falsch zu gehen. Wenn dies der Fall ist, habe ich vor, "null" zurückzugeben, aber ich möchte auch einen Fehler zurückgeben. Ist es eine schlechte Übung, einen NSError ** -Parameter für eine Init-Methode zu haben? Meine Methode Erklärung würde wie folgt aussehen:
- (id) initWithArgs:(NSString*) args andError:(NSError**)error;
Vielen Dank, Nick
Eines, was ich empfehlen würde, ist IMMER Einstellung Fehler gleich zu Beginn der Methode. Es gibt keine Garantie, dass der Anrufer es auf Null gesetzt hat. – EricS
@EricS Es gibt keinen Grund, den "Fehler" auf "Null" zu setzen, es sei denn, es liegt ein Fehler vor. Der Aufrufer sollte niemals auf den Wert von @ error schauen, es sei denn, die Methode gibt nil zurück. Ansonsten ist ein Fehler. @Caleb, dass der Code überprüfen muss, um sicherzustellen, dass "error" nicht NULL ist, bevor er "* error" zugewiesen wird. – bbum
@bbum Danke - behoben. – Caleb