Objective-C - перезагрузка UITableView, не замечая пользователя - PullRequest
0 голосов
/ 20 октября 2011

Как я могу перезагрузить UITableView, не замечая пользователя за iDevice?

Я обновляю свой источник данных UITableView в -applicationWillEnterForeground:, отправляя уведомление на мой RootViewController, который наблюдает за уведомлениеми запускает селектор, который вызывает [self.table reloadData], но я хочу, чтобы это обновление было сделано скрытно и не показывалось пользователю.

Похоже, что -viewWillAppear: срабатывает до -applicationWillEnterForeground:

1 Ответ

1 голос
/ 20 октября 2011

Меня немного смущает ваш вопрос, но я думаю, что вы ищете способ перезагрузить данные, прежде чем они появятся на экране, да?

Я бы сказал, выяснить, как вызвать метод обновления данных напрямую, а не через уведомление. Уведомление отменяет обновление данных с -applicationWillEnterForeground, давая время просмотра.

Последовательность, вероятно, выглядит примерно так:

  1. applicationWillEnterForeground
  2. viewWillAppear
  3. Появляется вид.
  4. Метод наблюдателя уведомлений называется

    a) Вызов метода наблюдателя уведомлений [self.table reloadData]

  5. Представление таблицы обновляется на экране.

Вам нужно связать ваш метод уведомления с методом, который вызывается до появления представления. Звоните прямо с applicationWillEnterForeground или viewWillAppear.

Таким образом, это будет выглядеть так:

  1. applicationWillEnterForeground

    а) Ваш метод обновления данных вызван. (нет необходимости вызывать [self.table reloadData], tableView еще не загрузил данные.)

  2. viewWillAppear
  3. Появляется вид.
  4. Таблица загружена с уже обновленными данными.

или как это:

  1. applicationWillEnterForeground
  2. viewWillAppear

    a) Ваш метод обновления данных вызван. (нет необходимости вызывать [self.table reloadData], tableView еще не загрузил данные.)

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