Поскольку -initWithFormat:
возвращает объект, который отличается от объекта, возвращаемого +alloc
, то есть объект, который отличается от объекта, указанного myString
. Вот почему вы всегда должны связывать +alloc
с -init…
.
Эта ситуация распространена в кластерах классов, таких как NSString
. +alloc
возвращает универсальный строковый объект, затем -initWithFormat:
определяет конкретный подкласс NSString
, освобождает текущий объект, созданный +alloc
, создает новый объект из конкретного подкласса NSString
и затем возвращает этот новый объект.