iOS Timer loop que ejecuta una acción determinada cada X minutos

Estoy intentando ejecutar un cierto bloque de código cada x cantidad de time, pero parece que todo lo que estoy haciendo es ejecutarlo durante ese time. Aquí hay un bloque de mi código.

while (TRUE) { NSTimer *countDown = [NSTimer scheduledTimerWithTimeInterval:(x) target:self selector:@selector(timerHandle) userInfo:nil repeats:YES]; } 

¿Alguna idea de cómo hacerlo?

Tal como está escrito, se trata de un bucle infinito, que crea un NSTimer cada bucle de iteración.

Pruébelo sin el ciclo while. Esto debería hacer que [self timerHandle] sea ​​invocado en el intervalo x por un solo subprocess / timer de background. La guía de Apple para el uso de NSTimer (incluyendo como otros señalan, cómo detener correctamente su tarea progtwigda) está aquí .

Intente esto: ( executeMethod a executeMethod cada 5 segundos)

 if (![NSThread isMainThread]) { dispatch_async(dispatch_get_main_queue(), ^{ [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(executeMethod) userInfo:nil repeats:YES]; }); } else{ [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(executeMethod) userInfo:nil repeats:YES]; } 

Escriba el código que desea ejecutar en el método executeMethod . Espero que esto ayude.. 🙂