我有两个 View ,第一个“A”,有一个按钮可以触发 Web 服务来验证一个代码,如果验证成功,它会执行到 View “B”的转场。
在 View B 中,我有这个
- (bool) viewDidUpload
dispatch_async(kBgQueue, ^{
[self processContacts];
[self sendPost];
});
-(void) processContacts
//Process contact address
-(void) sendPost
//Process web services call
//If web service call is OK, call [self updateBar]
[self performSelectorOnMainThread:@selector(updateBar)
withObject:nil waitUntilDone:YES];
更新:我实现了 GDC 以在后台发送 sendPost 和 processContacts,然后 sendPost 方法使用 performSelectorOnMainThread: 执行了 updateBar 调用,问题是执行没有进入这个方法,它在没有更新栏的情况下完成。 sendPost 和 processContacts 现在在后台运行,但我不知道如何在每次完成有效连接时在主体中执行 updateBar,然后返回后台并再次执行其余连接。
非常感谢
最佳答案
您应该在后台线程中执行所有计算和通信。然后在主线程中更新 GUI 内容(如进度条)。
看看 GCD。它真的很容易使用,我相信会解决您的问题。
关于objective-c - uiprogressview 更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719672/