Upvote:1

Aprove answer
dispatch_async(dispatch_get_main_queue(), ^(void){
    _jobStatusLabel.text = @"Documents up to date"; // is this the issue?
});

Upvote:1

dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
dispatch_async(queue, ^{
     [self checkFiles:sessionID];

     dispatch_async(dispatch_get_main_queue(),^{
         //breakup your checkFiles method to background tasks & UI tasks. Put UI updating 
         //code here which will get executed in the main thread.
     });
});

Credit Goes to: stackoverflow.com

Related question with same questions but different answers