2011-01-02 4 views
0

Я хотел бы отобразить диапазон (от x до y) строк данных, которые перечеркнуты в tableView. Проблема в том, что когда я обновляю данные с помощью [self.tableView reloadData], я не могу сразу же запрашивать текущие отображаемые данные (он еще не будет установлен).Как определить, когда отображение или обновление tableView завершено (iOS)

Так что мне нужно иметь событие, когда отображение tableView будет завершено в любое время его изменения. Но я этого не нашел (пока).

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

ответ

3

Думаю, вы идете по этому пути неправильно. Пожалуйста, пожалуйста, не используйте tableView в качестве источника данных. Ваши данные должны храниться в собственной модели данных или, по крайней мере, отдельно от объекта вида. Вы не должны запрашивать tableView для данных, tableView - это просто представление данных, хранящихся в других местах. Обновите модель данных, покажите, что изменения в таблицеView.

Если вы следуете правильной парадигме модели-представления (MVC), не должно быть причин для обратного вызова, как вы просите о существовании. Вот почему это не так.

Не пытайтесь изобретать велосипед, просто используйте MVC.

Если вы хотите получить предупреждение, когда что-то в вашей модели изменится, попробуйте использовать Key-Value Observing (KVO). Документацию для KVO и MVC можно найти на сайте developer.apple.com.

Удачи!

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