Enviando mensajes desde el hilo de fondo al hilo principal en iOS

Tengo una aplicación para iOS donde estoy completando tareas en el hilo de fondo. A medida que se completa cada tarea, quiero enviar un mensaje al hilo principal para poder moverme a lo largo de mi barra de progreso personalizada a la etapa apropiada.

¿Cuál es la forma más sencilla y segura de lograr esto?

EDITAR 1

Este es el método que estoy usando:

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

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

});

Editar 2

Aquí hay un ejemplo de lo que intentaría usar la respuesta de @Madboy. Dentro de la clase en la que realizo métodos en segundo plano, tengo un puntero a mi barra de progreso. ¿Creemos que esto funcionaría?(Tenga en cuenta el cambio también a EDIT 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. 
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta