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 thread can be used for the user interface.
I’ve heard GCD is a new technology that is good for this, can someone provide some example code in regards to how this would work?
That is to run a generic function on the background thread and return the result to a UI text field.
EDIT:
Thanks Alladinian it works a treat.
However, when I use GCD my function takes 1 second longer to execute on the iphone simulator (I’d guess this’d be about 5 seconds on an iphone (ill have to test it later today to be sure))
Is there any reason why this is? Perhaps the background thread is slower or something?
Well that’s pretty easy actually with GCD. A typical workflow would be something like this:
For more on GCD you can take a look into Apple’s documentation here