У меня есть приложение, которое использует табличное представление вместе с UIButton, которое я добавляю как подпредставление для каждой настраиваемой ячейки, например:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
checkButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(2.0, 2.0, 40.0, 40.0)];
[cell.contentView addSubview:checkButton];
// lot's of other code
return cell;
}
Я думал, что все было хорошо, пока я не начал использовать Instruments, чтобы убедиться, что у меня нет утечек памяти, но я обнаружил, что добавление UIButton в качестве подобного вида ячейки как-то вызывает утечку в UIKit.
В частности, я получаю утечку памяти для каждой строки ячейки (каждый раз, когда кнопка добавляется как подпредставление), и утечкой объекта является "CALayer" с ответственным фреймом, являющимся "- [UIView _createLayerWithFrame:]".
Я что-то здесь не так делаю?