使用sendSynchronousRequest在调用webservice时更新UI

时间:2012-04-12 08:38:40

标签: user-interface nsurlconnection synchronized

在我的应用程序中,我使用调用webservice的同步请求。在每次通话之前,我想更新我的UILabel以显示进度。像:

lblTest.text=@"Downloading data XYZ";
NSData *dati = [NSURLConnection sendSynchronousRequest:richiesta returningResponse:&response error:&error];

lblTest.text=@"Downloading data ABC";
NSData *dati = [NSURLConnection sendSynchronousRequest:richiesta returningResponse:&response error:&error];

但标签文字没有改变。

谁对此有任何想法?

1 个答案:

答案 0 :(得分:0)

在搜索了很多关于这个问题之后,我得到了一个解决方案。

只需启动类似的线程:

 [NSThread detachNewThreadSelector:@selector(downloadData) toTarget:self withObject:nil];

并将标签文本更新为:

 [lblTest performSelectorOnMainThread:@selector(setText:) withObject:strMessage waitUntilDone:YES];

这解决了我的问题。