Я могу ошибаться, учитывая, что с этими несколькими строками кода не так много контекста, но я попробую.
Прежде всего, похоже, что вы можете проверять только одну ячейку за раз.
Data
представляется текущей ячейкой, а checkedData
- способом отслеживать, какая ячейка получит галочку.
Всякий раз, когда выделена ячейка, она помечается:
if (data != self.checkedData) {
self.checkedData = data;
}
И контроллер просит TableView
перерисовать (т.е. перезагрузить) себя снова:
[tableView reloadData];
Когдаэто действие запускается, делегат вызывает tableView:cellForRowAtIndexPath:
(среди других методов), и если вы выберете ячейку, вы получаете галочку:
if (data == self.checkedData)
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
В противном случае вы не будете:
else {
cell.accessoryType = UITableViewCellAccessoryNone;
}