ObjC-Dlaczego jest niepoprawne, gdy implementujemy osobno metody [alloc] i [init]? [duplikować]

To pytanie ma już tutaj odpowiedź:

Dlaczego nie powinienem oddzielać alloc i init? 4 odpowiedzi

Nigdy nie inicjuj obiektu bez ponownego przypisywania jakiegokolwiek wskaźnika do tego obiektu. Na przykład nie rób tego:

NSObject *someObject = [NSObject alloc];
[someObject init];

Jeśli wywołanie init zwróci inny obiekt, pozostanie wskaźnik do obiektu, który został pierwotnie przydzielony, ale nigdy nie został zainicjowany.

Właściwie jest to przykład w dokumencie ObjC firmy Apple, ale nie jestem do końca pewien, dlaczego tak jestNSObject *someObject = [[NSObject alloc] init] może obiecać, że zwróci obiekt, którego właśnie potrzebowaliśmyNSObject *someObject = [NSObject alloc]; [someObject init]; nie może?

questionAnswers(1)

yourAnswerToTheQuestion