Структурированный способ получить результат, который вы ищете:
Создайте подкласс UIView для ячеек таблицы (содержащий кнопку и метку). Вы создаете эти пользовательские представления и устанавливаете их как contentView
для каждой ячейки таблицы в cellForRowAtIndexPath
.
Каждый из ваших пользовательских видов прослушивает нажатие собственной кнопки. Когда он был нажат, он переключает свое состояние и сообщает главному viewcontroller (через метод делегата), что он был переключен. Контроллер основного представления вызывает reloadData для рассматриваемой ячейки, чтобы перезагрузить ее с правильным внешним видом.
Обратите внимание, что этот подход требует, чтобы вы указывали каждому из пользовательских представлений, для какого пути индекса он отображает в таблице - таким образом, он может информировать метод делегата контроллера основного представления - эта информация необходима для запуска перезагрузки соответствующая клетка.
Кстати, я полагаю, что вы хотите посмотреть на состояние кнопок в вашей таблице, когда пользователь завершит редактирование, и ваш текущий подход не отражает вещи состояния очень явно - вам придется перебирать ваши кнопки, или добавить выбранные элементы в изменяемый массив, или что-то.