connectionDidFinishLoading - ¿cómo forzar la actualización de UIView?

Puedo descargar un archivo ZIP de internet. El procesamiento posterior se realiza en connectionDidFinishLoading y funciona bien, excepto que no se actualizan los elementos UIView. Por ejemplo, establezco statusUpdate.text = @ "Descomprimir archivo" pero ese cambio no aparece hasta después de que connectionDidFinishLoading se haya completado. De forma similar, los objetos UIProgressView y UIActivityIndicatorView no se actualizan hasta que finaliza este método.

¿Hay alguna forma de forzar una actualización de UIView desde este método? Intenté configurar [self.view setNeedsDisplay] pero eso no funcionó. Parece que se está ejecutando en el hilo principal. Todos los demás comandos aquí funcionan bien, el único problema es actualizar la interfaz de usuario.

¡Gracias!

Actualización: aquí está el código que NO está actualizando el UIVIEW:

-(void)viewWillAppear:(BOOL)animated {
    timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(processUpdate:) userInfo:nil repeats:YES];
    downloadComplete = NO;
    statusText.text = @"";

}

-(void)processUpdate:(NSTimer *)theTimer {
    if (! downloadComplete) {
        return;
    }

    [timer invalidate];
    statusText.text = @"Processing update file."; 
    progress.progress = 0.0;
        totalFiles = [newFiles count];
    for (id fileName in newFiles) {
        count++;
            progress.progress = (float)count / (float)totalFiles;
        // ... process code goes here ...
         }
}

Al final de processUpdate, configuro downloadComplete = YES. Esto construye y ejecuta sin errores y funciona según lo previsto, excepto que nada se actualiza en el UIVIEW hasta que finaliza el proceso Actualización, todo se actualiza a la vez.

¡Gracias por su ayuda hasta ahora!

Respuestas a la pregunta(5)

Su respuesta a la pregunta