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];
не можешь?