Когда вы делаете [array addObject: object], массив сохраняет объект, который вставлен в массив.Чтобы избежать утечек памяти, не забудьте освободить исходный объект, который был вставлен, иначе объект, вставляемый в массив, будет иметь счет сохранения 2 вместо 1:
SomeClassObject *obj = [[SomeClassObject alloc] init];
[array addObject:obj];
[obj release];
Поскольку массиввладеет объектами, которые находятся внутри массива (содержит указатель на этот объект и сделал сохранение, как объяснено ранее), когда вы освобождаете массив, массив знает об освобождении любых объектов, которые находятся внутри него.Работа сделана для вас!