Wysyłanie wiadomości z wątku w tle do głównego wątku na iOS

Mam aplikację na iOS, w której wykonuję zadania na wątku w tle. Po zakończeniu każdego zadania chcę wysłać wiadomość do głównego wątku, aby móc przejść wzdłuż mojego niestandardowego paska postępu do odpowiedniego etapu.

Jaki jest najprostszy, a jednocześnie najbezpieczniejszy sposób na osiągnięcie tego celu?

EDYTUJ 1

Jest to metoda, której używam:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 
                                         (unsigned long)NULL), ^(void) {

     // get background tasks done. 
     [self.background backgroundMethod];

});

EDYCJA 2

Oto przykład tego, co próbowałbym użyć w odpowiedzi @ Madboya. W klasie, w której wykonuję metody w tle, mam wskaźnik do mojego paska postępu. Czy sądzimy, że to zadziała?(Zwróć uwagę na zmianę również na EDYCJA 1).

@implementation BackgroundClass
@synthesize delegate;
@synthesize customProgressBar

- (void)backgroundMethod
{
    // Run tasks
}

- (void)delegateSaysBackgroundMethodIsFinished
{
    [self performSelectorOnMainThread:@selector(tasksDone:) withObject:self.customProgressBar waitUntilDone:NO];

}

@implementation CustomProgressBar

- (void)tasksDone
{
    // change UI to reflect progress done. 
}

questionAnswers(3)

yourAnswerToTheQuestion