Проблема с загрузкой представления и синхронного вызова веб-службы - PullRequest
2 голосов
/ 19 января 2012

Я использую iPhone для получения данных из своего веб-сервиса.Поскольку я не хочу отображать представление загрузки при получении данных, я запускаю веб-службу синхронно.У меня есть кнопка для перехода к табличному представлению (которое получает данные от ws):

Loading *loading = [[Loading alloc]init];
[[[UIApplication sharedApplication] keyWindow] addSubview:loading.view];

TableViewController *tableViewController = [[TableViewController alloc] init];

[self.navigationController pushViewController:tableViewController animated:YES]; 
[loading.view removeFromSuperview];

И я вызываю веб-службу в viewDidLoad моего представления.

webData = [NSURLConnection sendSynchronousRequest:req
                                returningResponse:&response
                                            error:&error]; 

NSString *xml= [[NSString alloc] initWithBytes:[webData mutableBytes] 
                                        length:[webData length] 
                                      encoding:NSUTF8StringEncoding]; 
// Parse XML etc.

Я попытался добавитьзагрузка представления перед вызовом веб-службы (в viewDidLoad), но все равно не работает.Есть идеи, как отобразить вид загрузки?

1 Ответ

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

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

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