iOS 5 Дождаться окончания работы делегата перед заполнением таблицы? - PullRequest
1 голос
/ 17 января 2012

Я работаю над приложением iOS 5. У меня есть контроллер представления, который должен отображать данные, как только он открывается. Желаемый порядок функциональности:

  1. Позвоните в веб-сервис
  2. Дождаться ответа от веб-службы (делегат)
  3. Заполнить массив данных
  4. Использование массива для заполнения списка
  5. Показать список

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

Так что мне нужна помощь: (1) заставить программу ждать, пока делегат завершит заполнение массива, а затем заполнить представление списка, или (2) повторно инициализировать просмотр списка после завершения делегата и заново заполнить весь список Посмотреть. Если я переместлю представление списка (например, прокрутку вниз), я увижу нужные данные, потому что представление повторно инициализировано. Итак, я знаю, что у меня есть все компоненты на месте, мне просто нужно заставить их работать в нужном порядке.

1 Ответ

2 голосов
/ 17 января 2012

Если вы имеете в виду «экземпляр UITableView» в виде списка, то дайте веб-службе завершить загрузку, а затем обновите представление таблицы:

- (void) myWebServiceDidFinishLoadingData
{
    [self.tableView reloadData];
}

Надеюсь, это поможет.

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