У меня есть некоторый код перестановки / комбинации, который перебирает 20 объектов по 5 штук за раз.Когда список удовлетворяет некоторым критериям, я печатаю объекты, которые составляют этот список.Излишне говорить, что петля довольно большая.Я помещаю все комбинации в NSMutableArray внутри цикла.Как только объекты были добавлены и прошли / не прошли тест, я удаляю все объекты из массива.(Код Psuedo ниже).
-(void)CreateCombinations
{
NSMutableArray *Combinations = [[NSMutableArray alloc] init];
@autoreleasepool {
NSArray *objectsList = [[NSArray alloc] initWithObjects:
@“Lisa”,@“Kevin”,…nil];
} //autorelease pool
while(!Finished)
{
Combinations = [self getNextCombo: Combinations]
if (goodCombination)
[self printCombos:Combinations]
[Combinations removeAllObject];
}
}
Во время мониторинга сеанса отладки процессор и память заполнены.Я уверен, что зацикливание вступает в игру.Я не верю, что перераспределяю массив 'комбинаций' для каждой итерации.Если да, могу ли я что-то сделать, чтобы убедиться, что он правильно освобожден или освобожден до следующей итерации цикла?
Когда я добавляю @autorelease (который находится перед циклом), я получаю"ошибка необъявленного идентификатора".