У меня есть кнопка, которая при нажатии делает вызовы, которые загружают информацию из ряда URL-адресов (время загрузки около 5 секунд). Прямо перед тем, как сделать эти звонки, я хочу добавить предупреждение о загрузке Когда я использую UIAlertView, экран тускнеет, как будто он собирается всплыть, но не до загрузки данных - слишком поздно! Я понятия не имею, что происходит, это похоже на то, что звонки, которые я делаю для загрузки данных, сразу становятся предпочтительнее, чем отображение нового представления, даже если они сделаны сразу после звонков, добавляющих новое представление (или показывающих предупреждение). ,
Это краткая версия кода:
-(void) refresh{
UIAlertView *av = ...
[av show]; //this should pop up before dat begins to load
[myDataSource loadData]; //this contains a series of [NSData initWithURL] calls
[self.tableView reloadData];
//here I would hide the AlertView, but if I do I see it for just s split second
//when the tableView has already reloaded
}
Заранее благодарим за понимание!
*** EDIT
Любой, кто использует executeSelectorInBackground, остерегается дополнительных сложностей создания действительно многопоточной программы. Например, утечки могут появиться, поскольку в новом потоке нет пула автоматического выпуска - вы должны добавить его и т. Д.