В следующий раз вставьте свой код в вопрос, а не в комментарий. Вот это красиво отформатировано:
NSMutableArray *currentIngsGroup = [[NSMutableArray alloc] init];
currentIngsGroup = (NSMutableArray *)[allIngredientGroups objectAtIndex:0];
NSLog(@"accesing array %d", [currentIngsGroup count]);
Как правило, я бы сказал, что описанный вами симптом указывает на то, что вы что-то чрезмерно выпускаете. Код, однако, демонстрирует фундаментальное непонимание Objective-C. Я бы предложил прочитать Введение в Objective-C .
В частности, вы размещаете экземпляр NSMutableArray в первой строке кода. Однако вторая строка немедленно перезаписывает ссылку на изменяемый массив со ссылкой на любой объект с индексом 0 массива allIngredientGroups
.
(NSMutableArray *)
совершенно не нужен. Это не заставит любой объект в массиве быть изменяемым массивом, и, поскольку -objectAtIndex:
возвращает (id)
, приведение не требуется.
Кстати: массив, выделенный в первой строке, просачивается. Снова прочтите введение в цель-c, чтобы понять, почему.