2014-11-30 5 views
0

У меня есть три viewControllers. Один, который отображает UITableView. Другое, где я могу добавлять объекты в UITableView и где я могу редактировать объекты в UITableView.Редактировать ячейки UITableView?

Я успешно смог заполнить UITableView элементами и перенести дату в ячейку на контроллер редактирования, но мой вопрос.

После того, как я отредактировал данные из ячейки в своем edit viewController, как передать прошедший отредактированный текст и применить его к ячейке, из которой он пришел.

Я использую prepareForSegue, чтобы отправить текст из выбранной ячейки в контроллер вида редактирования, и все работает отлично, но теперь, как передать отредактированную версию обратно в ту же ячейку, из которой она появилась?

+0

Вы используете модель здесь? И это подкласс «NSObject» или что-то еще? – kpsharp

+0

Извините, что не в том числе. Я подклассифицирую NSObject, у меня есть экземпляр под названием «Задачи», в котором я храню массив из контроллера просмотра. –

ответ

1

Вы должны использовать протокол для этого. Контроллер вида редактирования должен определить протокол, а контроллер табличного представления будет назначен делегатом в prepareForSegue. Когда вы закончите редактирование, вызовите метод делегата с новыми данными и попросите контроллер табличного представления обновить свою модель с этими новыми данными, затем перезагрузите представление таблицы (контроллер табличного представления должен будет содержать указатель на indexPath ячейку, данные которой вы передали контроллеру редактирования, чтобы он знал, какой элемент в источнике данных обновляется). Использование протокола - довольно стандартная практика для отправки данных обратно на предыдущий контроллер.

+0

Я отдам его, спасибо! –

Смежные вопросы