У меня есть NavigationViewController
с UITableView
в нем. При загрузке я делаю асинхронный серверный вызов сервера, чтобы получить некоторые данные, чтобы заполнить представление. По возвращении я позвоню updateView
.iOS updateView вызван после viewDidAppear
Я обнаружил, что иногда я вижу только панель навигации и нет представления в таблице. Из моей отладки это происходит, когда мой updateView
получает вызов ПОСЛЕviewDidAppear
.
У меня есть [self.taboleView reloadData]
в конце моего updateView
, но я думаю, что это не поможет, когда viewDidAppear
уже уволен?
Бит путать по этому вопросу. У кого-нибудь есть идея, как решить эту проблему времени?
Это происходит на iPhone с iOS8.
Спасибо!
Поскольку это асинхронный вызов сервера, приложение продолжает основной поток (я думаю). У вас нет функции делегата в вашей асинхронной библиотеке, которая вызывается при получении ответа сервера? – Leandro
Измените асинхронный запрос на синхронный запрос, а затем скажите мне, не имеет значения. –
Вы определенно хотите сохранить его асинхронным, поэтому способ, которым я всегда занимался этим, - запустить запрос в viewWillAppear, поставить на экран какой-то индикатор загрузки, а затем, когда запрос вернется, избавится от индикатора загрузки и перезагрузите представление. Просто как тот. – Mike