iPhone - Ist initWithCoder eine Ausnahme vom üblichen Designmuster für den Initialisierer?

Ich habe eine Klasse MyClass. Es enthält Instanzvariablen übergebenInVar1, übergebenInVar2 usw., deren Werte vom Objekt übergeben werden, das die Initialisierung anfordert. Es enthält auch Instanzvariablen decodedVar1, decodedVar2 usw., die aus einem Archiv decodiert werden - oder auf einen Standardwert gesetzt werden, wenn kein Archiv vorhanden ist.

GemäßApfe,

Wenn ein Objekt eine initWithCoder: -Nachricht empfängt, sollte das Objekt zuerst eine Nachricht an seine Oberklasse senden (falls zutreffend), um geerbte Instanzvariablen zu initialisieren, und dann seine eigenen Instanzvariablen dekodieren und initialisieren.

Aber Apple sagt auch, dass eine Klasse nur einen bestimmten Initialisierer haben sollte.

Was ist der beste Weg, um mit all dem umzugehen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage