Метод класса создает и автоматически выпускает объект NSMutableArray.
Метод instance инициализирует объект, который вы должны выделить самостоятельно. Код, который вы написали, на самом деле ничего не сделает, потому что myMutableArrayInstance
- это nil
. Метод класса примерно эквивалентен этому:
NSMutableArray *myMutableArrayInstance = [NSMutableArray alloc];
[myMutableArrayInstance initWithCapacity:WholeLottaData];
[myMutableArrayInstance autorelease];
И, как отмечает Питер Хоси в комментариях, это действительно означает следующее:
NSMutableArray *myMutableArrayInstance = [[[NSMutableArray alloc]
initWithCapacity:WholeLottaData]
autorelease];
, который будет иметь результаты, отличные от приведенных выше, если метод initWithCapacity:
возвращает другой объект.