2012-01-19 3 views
2

Я использую 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), но все равно не работает.
Любая идея, как отображать загрузочный просмотр?

+2

Вы уверены, что хотите получить данные синхронно? обычно вы хотите сделать это асинхронно (так что приложение не останавливается, пока оно ждет завершения передачи данных) –

ответ

2

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

+0

Я ошибся. Я думал, что мне нужен синхронизирующий звонок. Вызов асинхронного решения проблемы. – 1110

Смежные вопросы