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 odpowiedziNigdy 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?