Перезагрузка (таблица) после получения обновления с сервера - PullRequest
0 голосов
/ 03 января 2012

Я создаю приложение для iPhone, которое получает обновления из Интернета через регулярные промежутки времени и когда пользователь просматривает данные приложений.

У меня есть класс с именем updateManager, который обрабатывает процесс обновления.Когда процесс обновления завершится (через 0,1-3,0 секунды), данные в моем приложении могут быть изменены, но пользователь все еще просматривает старые (ложные) данные.Это вызывает большие проблемы, когда пользователь просматривает (развернутый) просмотр таблицы и выбирает ячейку, данные которой больше не существуют.

Есть ли способ получить доступ к текущему представлению (контроллеру) из другого классаи перезагрузить его (табличное) представление?Невозможно отправить текущий контроллер представления в updateManager, так как пользователь мог изменить представление во время обновления

РЕДАКТИРОВАТЬ:

Я посмотрел этот пост: ОбновитьtableView из AppDelegate но я думаю, что проблема с переключением представлений пользователя при обновлении все еще не так ли?

Ответы [ 2 ]

1 голос
/ 03 января 2012

Не уверен, что это лучшее решение.Вы получите более отделенный дизайн, если вместо этого будете использовать шаблон Observer.Используйте NSNotificationCenter, чтобы опубликовать уведомление при изменении данных.Тогда любое представление, отображающее данные, подпишется на эти уведомления и сможет перезагрузить таблицу при таком событии.

0 голосов
/ 03 января 2012

я бы сгенерировал NSNotification с NSNotification Center

Ваш ViewController с TableView прослушивает Уведомление (и перезагружает ваше табличное представление, если уведомление сработало), а ваш класс обновлений запускает Уведомление, если данные изменились.

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