#objective-c #memory-leaks
#objective-c #утечки памяти
Вопрос:
получил это предупреждение об утечке памяти в следующем…
есть идеи?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger row = [indexPath row];
UITableViewCell *cell = [self newOrReusableCell];
cell.textLabel.text = [_evaluationArray objectAtIndex:row];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
Спасибо
РЕДАКТИРОВАТЬ: вот предупреждение: … Объект, выделенный в строке 128 и сохраненный в ‘cell’, возвращается из метода, имя которого (‘TableView:cellForRowAtIndexPath:’) не содержит ‘copy’ или иным образом начинается с ‘new’ или ‘alloc’. Это нарушает правила соглашения об именовании, приведенные в руководстве по управлению памятью для Cocoa (утечка объекта)
Комментарии:
1. Какой компилятор вы используете?? Это лучшее предупреждение компилятора, которое я когда-либо видел: O
2. @Wevah Я всегда использую Clang, но я никогда не видел такого предупреждения.
3. @Radek S: Вы используете статический анализатор? (Упс: не сам компилятор.)
Ответ №1:
ах! забудьте об этом! нашел ответ .. так я назвал свою ячейку…
Комментарии:
1. Проблема в том, что метод начинается с
new
, что в стандартных соглашениях об именовании Obj-C означает, что метод возвращает сохраненный объект.