Лучший способ повторно использовать UITableView с динамическими данными? - PullRequest
0 голосов
/ 27 ноября 2008

В моем приложении есть ряд табличных представлений, основанных на некоторых иерархических данных. Например, пользователь выбирает «Обзор по XYZ» в моем CategoryListController, а затем я загружаю свой DocumentListController на основе этого выбора.

Сейчас я получаю список через веб-сервис, который возвращает некоторые данные JSON, но это не относится к делу. Я мог бы получить этот динамический список из базы данных SQLite, и у меня была бы та же основная проблема.

Проблема здесь в том, что, поскольку список элементов для моего табличного представления в DocumentListController будет меняться в зависимости от того, какой выбор пользователь коснулся, я должен загрузить свой список после отображения табличного представления.

Прямо сейчас я использую -viewWillAppear:, чтобы вызвать это "обновление" элементов данных из моего веб-сервиса. Мне было интересно, если это лучший способ сделать это обновление, или я должен изучить другой метод. Я попытался использовать -viewDidLoad, но этот метод вызывается только один раз для DocumentListController, и мне нужно при каждом вызове проверять, изменился ли «выбор», и если это так, мне нужно снова вызывать свой веб-сервис.

Какой лучший способ сделать что-то подобное?

1 Ответ

0 голосов
/ 27 ноября 2008

Поскольку вы извлекаете данные через сеть, я бы посоветовал опубликовать уведомление после того, как вы его обработаете. Ваш DocumentListController должен зарегистрироваться для этого уведомления и вызвать reloadData своего табличного представления в обработчике уведомлений.

Другой подход, если данные всегда будут присутствовать при отображении представления, это то, что вы предложили - обновить представление таблицы в viewWillAppear.

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