2012-06-17 8 views
6

Esto puede parecer una pregunta novato de todos modos, soy muy nuevo en GCDGCD: Cómo cambiar el intervalo de incendios temporizador

He siguiente código:

int interval = 2; 
int leeway = 0; 

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue); 
if (timer) { 
    dispatch_source_set_timer(timer, dispatch_walltime(DISPATCH_TIME_NOW, NSEC_PER_SEC * interval), interval * NSEC_PER_SEC, leeway); 
    dispatch_source_set_event_handler(timer, ^{ 
     [self someMethod]; 
    }); 
    dispatch_resume(timer); 
} 

Dónde algunMetodo es:

- (void)someMethod 
{ 
    NSLog(@"Thread 1"); 
} 

¿Cómo cambio la propiedad del intervalo de disparo de timer en algúnMétodo?

+0

un margen de 0 nanosegundos para un segundo temporizador 2 es un poco implacable :) – Taryn

Respuesta

9

tiene la respuesta por mi cuenta, llamando dispatch_source_set_timer con el nuevo valor de intervalo es suficiente

Cuestiones relacionadas