Используя сборку и анализ XCode, я обнаружил утечку памяти в моем коде:
- (NSString *) doIt { NSString *var = [[NSString alloc] init]; return var; }
Это, конечно, упрощенный фрагмент моей проблемы
где мне выпустить объект?
Это идеальная ситуация для autorelease.
autorelease
return [var autorelease]; вернет объект с текущим счетом сохранения 1 и уменьшит счет сохранения объекта в какой-то момент в будущем, после чеговызывающий код должен был сохранить объект, если это необходимо.
return [var autorelease];