Der Aufruf von -init
mehrmals ist nicht definiert, nicht unterstützt und wird zu Fehlern, Abstürzen und anderem unerwartetem Verhalten führen.
Viele Klassen - NSString
, NSArray
und NSDictionary
zum Beispiel - ordnen nichts zu, wenn die Methode +alloc
aufgerufen wird. Erst wenn eine der verschiedenen -init*
-Methoden aufgerufen wird, hat das Objekt genügend Kontext, um die effizientesten Mittel zu finden, um alles zu tun, was Sie fragen.
Eine Sache, die ich zu Bills Antwort hinzufügen würde, ist, dass Sie, wenn Sie Ihre eigenen -init
-Methoden schreiben, defensiv codieren und nicht davon ausgehen, dass sie nur einmal aufgerufen werden.
Tags und Links objective-c cocoa