我有两个视图,第一个是“ A”,有一个按钮可以触发Web服务验证一个代码,如果验证成功,它将对视图“ B”执行segue。
在视图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。它真的很容易使用,并且可以肯定会解决您的问题。