2008-11-27 3 views
0

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

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

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

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

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

ответ

0

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

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

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