En cualquier momento podemos necesitar el típico timer que se repita cada X segundos o que se ejecute una sólo vez pasado el tiempo que deseemos. Yo he tenido que usarlo por primera vez en la aplicación que estoy a punto de publicar para mostrar un anuncio y así asegurarme de que está preparado para ser mostrado.

He visto varios ejemplos hechos en Objective-C pero demasiado complicados para lo que queremos hacer, aquí voy a explicar algo muy sencillo.

En mi caso, he creado una función llamada “createTimer” porque soy muy original y la llamo en el evento “viewDidLoad”. Esta función instancia un timer de 5 segundos y hace que no se repita. La función luce así:

-(NSTimer*)createTimer {
    // Creamos el timer con 5 segundos y hacemos que no se repita
    return [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(timerTicked:) userInfo:nil repeats:NO];
}

Ahora implementamos la función “timerTicked” que se ejecuta automáticamente pasado el tiempo que le hayamos indicado al propio timer. En esta función, ponemos lo que queremos que haga el programa cuando pase ese tiempo. Como he dicho antes, yo lo he usado para mostrar un anuncio dentro de mi app, así que quedaría de esta forma:

- (void)timerTicked:(NSTimer*)timer {
    if ([self.interstitial isReady]) {
        [self.interstitial presentFromRootViewController:self];
    }
}

Por último, faltaría llamar a la función “createTimer” en el evento “viewDidLoad” de nuestro view controller para que se muestre el anuncio pasados 5 segundos.

// Iniciamos el timer que mostrará el anuncio
[self createTimer];
Facebooktwittergoogle_plusredditpinterestlinkedinmail