#xcode #memory #memory-leaks #autorelease #analyzer
#xcode #память #утечки памяти #авторелиз #анализатор
Вопрос:
Я использую последнюю версию Xcode и пытаюсь найти утечки памяти. Когда я использую «Анализ», он показывает следующее как потенциальную утечку:
(UITableViewCell *) method {
UITableViewCell *cell = [[TestX alloc]init];
... do some stuff
return [cell autorelease];
}
Должен ли я просто игнорировать это?
Комментарии:
1. Это пример кода, как освободить объект ‘Cell’???
Ответ №1:
Нет, вы не должны игнорировать предупреждения. Иногда Xcode дает ошибки и забывает, что вы изменили код. Попробуйте перезапустить Xcode. Удалите некоторые вещи, чтобы это были только две строки, и посмотрите, перестанет ли анализатор предупреждать вас. Возможно, вы где-то влияете на количество сохранений в этом коде, не осознавая этого.
Ответ №2:
Вам нужно правильно назвать метод, чтобы показать, что он возвращает автоматически выпущенный объект. Я забыл предпочитаемое имя. Попробуйте что-то вроде ‘newObject’.
Комментарии:
1. Нет, это полная противоположность тому, что он должен делать. Имя метода
new
, содержащееся в нем, указывает, что метод передает право собственности обратно, т. Е. Что Он не выпущен автоматически.