Muy corto truco: dejar de NSTimer
Martes, 16 de junio 2009 El uso de temporizadores NSTimer en el desarrollo de aplicaciones para el iPhone de Apple es muy frecuente y no sólo en hacer juegos. Uno de los problemas con que se puede ejecutar en el temporizador asíncrono es en sí, que puede dar lugar, durante la detención de uno o más contadores de tiempo, el choque de nuestra aplicación. Cuando quiera detener a uno o más contadores de tiempo, donde repeats se establece en YES se invoca el invalidate que, precisamente, detener el temporizador. Por ejemplo, el código de abajo se activa un temporizador que se invoca el método myTimerMethod cada 5 segundos:
- / /
- / / MyTimer se define como global
- / /
- objetivo: la libre
- ( myTimerMethod ) selector: @ selector (myTimerMethod)
- userInfo: cero
- ] ; repite: YES];
- / /
- ) myTimerMethod { - (Void) (myTimerMethod
- / / Do ...
- )
Si tuviéramos que queremos detener el temporizador:
- ; [MyTimer invalidar];
Sin embargo, "invalida" el temporizador de hacer "peligroso" demasiado variable - Global - myTimer Así que el mejor método - y seguro - para detener un temporizador puede ser:
- myTimer != nil ) { if (myTimer! = nil) (
- ; [MyTimer invalidar];
- ; myTimer = nil;
- )
Este procedimiento puede ser útil para restablecer un temporizador (global):
- myTimer != nil ) { if (myTimer! = nil) (
- ; [MyTimer invalidar];
- ; myTimer = nil;
- / / Reset el temporizador a 25 segundos
- objetivo: la libre
- ( myTimerMethod ) selector: @ selector (myTimerMethod)
- userInfo: cero
- ] ; repite: YES];
- )













No hay ningún comentario para este post
Deja tu comentario