Ситуация: когда пользователь выбирает ячейку, в эту ячейку добавляется кнопка. Когда они выбирают новую ячейку, кнопка удаляется из предыдущей ячейки и добавляется в новую ячейку. Это работает. Проблема в том, что в таблицу добавляется больше данных. Допустим, есть 20 ячеек, затем я добавляю еще 20 ячеек. Затем я выбираю первую ячейку, однако кнопка добавляется в ячейку 1 И ячейку 21. Однако метод выбора делегата регистрирует только первую выбранную ячейку.
Из моего метода didSelectRowAtIndexPath:
if (self.selectedCell) {
self.selectedCell.accessoryView = nil;
self.selectedCell = nil;
}
UIButton *downloadButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[downloadButton setTitle:@"Download" forState:UIControlStateNormal];
[downloadButton setFrame:CGRectMake(0, 0, 130, 34)];
self.selectedCell = [self.tableView cellForRowAtIndexPath:indexPath];
self.selectedCell.accessoryView = downloadButton;
[self.selectedCell setNeedsDisplay];
В моем методе это добавляет больше данных в таблицу, которую я заканчиваю:
if(self.selectedCell){
self.selectedCell.accessoryView = nil;
self.selectedCell = nil;
}
[self.tableView reloadData];
[self.tableView setNeedsLayout];