Не изменяйте ячейки напрямую - измените данные, используемые для заполнения ячеек, а затем скажите таблице, что нужно перезагрузить эти данные.
Итак, вам понадобится следующее:
способ хранения представления «проверенного состояния» в данных, которые представляют ячейки;
способ установки аксессуара для отдельной ячейки в вашем методе -tableView:cellForRowAtIndexPath:
в соответствии со значением «проверенного состояния» для элемента, который представляет рассматриваемая ячейка
Для обычного UITableViewCell вы можете установить аксессуар, сказав что-то вроде:
cell.accessoryType = item.isChecked ? UITableViewAccessoryCheckmark : UITableViewAccessoryNone;