moving a function to a background thread in objective c moving a function to a background thread in objective c ios ios

moving a function to a background thread in objective c


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


Also to add, sometimes you don't need to use GCD, this one is very simple to use :

[self performSelectorInBackground:@selector(someMethod:) withObject:nil];