Проблема запуска [tableView reloadData] - PullRequest
1 голос
/ 12 июля 2009

У меня есть контроллер, который содержит tableView, который порождает другой контроллер модально для ввода имени. Как только имя введено, модальное представление освобождается. Но ... как мне сказать первый контроллер [tableView reloadData]. Я пробовал в ViewWillAppear, ViewDidAppear и т. Д. ... ни один из них не будет запускать команду, потому что первый контроллер все еще там за модальным контроллером. Итак .... как я могу сказать, чтобы он перезагрузился?

* БЛАГОДАРЯ 1003 *

1 Ответ

1 голос
/ 12 июля 2009

Способ, которым я бы подошел к этому, состоял бы в том, чтобы сделать первый контроллер делегатом второго контроллера. Добавьте метод, подобный -secondController:didFinishEnteringName:, к первому контроллеру, который перезагружает табличное представление при вызове. Затем добавьте свойство делегата (с назначенной семантикой) ко второму контроллеру, установите первый контроллер в качестве делегата второго, и, наконец, после того, как пользователь введет свое имя во втором контроллере, вызовите метод -secondController:didFinishEnteringName: первого контроллера, прежде чем удалять второй контроллер с экрана.

Другим подходом может быть использование уведомлений. Но это более применимо в ситуациях, когда может быть много представлений или других объектов, которые необходимо обновить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...