ObjC-Почему это неправильно, когда реализуют методы [alloc] и [init] раздельно? [Дубликат]

На этот вопрос уже есть ответ здесь:

Почему я не должен разделять alloc и init? 4 ответа

Никогда не инициализируйте объект, не переназначая указатель на этот объект. Например, не делайте этого:

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

Если вызов init возвращает какой-то другой объект, у вас останется указатель на объект, который был первоначально выделен, но никогда не инициализирован.

На самом деле, это пример в документе Apple ObjC, но мне не совсем понятно, почемуNSObject *someObject = [[NSObject alloc] init] могу обещать вернуть предмет, который нам просто нужен, покаNSObject *someObject = [NSObject alloc]; [someObject init]; не можешь?

Ответы на вопрос(1)

Ваш ответ на вопрос