Reputation: 450
I have two views, first one "A", has a button that trigger a web service to validate one code, if validation is successful, it performs a segue to the view "B".
In view B, I have this
- (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];
UPDATED: I implemented GDC to send sendPost and processContacts in the background, then sendPost method has the updateBar call performed using performSelectorOnMainThread:, the problem is that the execution doesn't enter in this method and it finishes without updating the bar. sendPost and processContacts now run in the background, but I don't know how to perform updateBar in the main every time a valid connection is done, and then return to the background and perform rest of connections and again.
Many thanks
Upvotes: 0
Views: 248
Reputation: 1223
You should perform all calculations and communications in background thread. Then do updates on GUI stuff (like progress bar) in your main thread.
Take a look at GCD. It is really easy to use and will solve your problem I'm sure.
Upvotes: 1
Reputation: 554
So seems that you are using internet and best way for me to do so is using the Git library of ASIHTTPRequest, read it and download it then use it, it's very useful, enjoy:
http://allseeing-i.com/ASIHTTPRequest/
Upvotes: 1