¿Es una buena idea llamar a [NSRunLoop runUntilDate:]?

¿Es generalmente una buena idea llamar-[NSRunLoop runUntilDate:]? Parece funcionar sin problemas, pero me pone nervioso decirle al ciclo de ejecución que se ejecute desde dentro del ciclo de ejecución.

Más información:

Tengo un proyecto en este momento que está obteniendo datos de un servicio REST. Una información crítica que debe obtenerse es el rango de fechas con datos válidos. Es un dato muy pequeño que solo debe obtenerse una vez, así que decidí que la mejor manera de manejarlo es que la propiedad descargue los datos si la variable local esnil. Estoy usandoASIHTTPRequest y unASINetworkQueue, por lo que todo es asíncrono de forma predeterminada, y para que esto funcione, esta propiedad no puede volver hasta que los datos se hayan descargado y procesado. Aquí hay un resumen de mi código, los nombres de las variables se han cambiado para proteger a los inocentes:

__block BOOL isWorking = YES;
__block ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:/*actual URL*/] autorelease];
[request setCompletionBlock:^{
    // set local variable
    isWorking = NO;
}];
[request setFailedBlock:^{
    // show alert to user
    isWorking = NO;
}];
[queue addOperation:request];

while (isWorking) {
    [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
}

De nuevo, esto parece estar funcionando bien. ¿Hay algún problema potencial con el uso de este enfoque?

Respuestas a la pregunta(2)

Su respuesta a la pregunta