Нет, просто позвонить alloc
было бы неправильно. alloc
обнуляет все переменные экземпляра объекта, init
затем имеет возможность установить все или некоторые переменные экземпляра в их значения по умолчанию. Некоторые классы даже используют свои методы init
для создания другого экземпляра и возврата его вместо того, который вы выделили.
Многие классы ожидают, что их методы init
будут вызваны и, возможно, вызовут сбои, если вы не вызовете init
. Если вы говорите о пользовательском классе, который наследуется непосредственно от NSObject
и не требует инициализации переменных экземпляра, вы можете избежать использования [myClass alloc]
, но это определенно не хороший стиль программирования.