I have a function that returns a string that takes 15 seconds to compute on an iPhone.
I want to be able to run the function on the background thread so that the main t
Also to add, sometimes you don't need to use GCD, this one is very simple to use :
[self performSelectorInBackground:@selector(someMethod:) withObject:nil];
Well that's pretty easy actually with GCD. A typical workflow would be something like this:
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);
dispatch_async(queue, ^{
// Perform async operation
// Call your method/function here
// Example:
NSString *result = [anObject calculateSomething];
dispatch_async(dispatch_get_main_queue(), ^{
// Update UI
// Example:
self.myLabel.text = result;
});
});
For more on GCD you can take a look into Apple's documentation here