Я не уверен, почему вы создаете ячейку в коде. Вы можете просто перетащить ячейку в столбец таблицы в Интерфейсном Разработчике.
Кроме того, setObjectValue: где вы реагируете на изменение состояния ячейки. Пользователь уже изменил состояние ячейки на off; затем вы отправляете setNextState
и меняете его обратно. Вот почему ячейка не снимается: вы продолжаете проверять ее.
То, что вам нужно сделать, это вообще не касаться ячейки, а установить значение объекта (которое для этого столбца, вероятно, будет логическим NSNumber, содержащим либо YES
, либо NO
) в качестве нового значения соответствующее свойство в вашей модели.
Также, конечно, убедитесь, что столбец установлен как редактируемый.