Truco muy corto: NSTimer parada

El uso de temporizadores ( NSTimer ) para desarrollar aplicaciones para el iPhone de Apple es muy frecuente, no sólo en la fabricación de juegos. Uno de los problemas con los que uno puede chocar es la asincronía del temporizador, que puede dar lugar, durante la detención de uno o más contadores de tiempo, la caída de nuestra aplicación. , si invoca la invalidate che, appunto, arresta il timer. Cuando se quiere detener uno o varios temporizadores, donde repeats está establecido en YES , se invoca el invalidate que, precisamente, el temporizador se detiene. Por ejemplo, el código de abajo, se activa un temporizador que invoca el método myTimerMethod cada 5 segundos:

1
2
3
4
5
6
7
8
9
10
11
12
/ /
/ / MyTimer se define como mundial
/ /
NSTimer scheduledTimerWithTimeInterval : 5.0 myTimer = [ NSTimer scheduledTimerWithTimeInterval: 5.0
Objetivo: auto
( myTimerMethod ) selector: @ selector (myTimerMethod)
userInfo: nil
] ; repite: YES];
/ /
void ) myTimerMethod { - (Void) {myTimerMethod
/ / Do ...
}

Si queremos detener el temporizador:

1
; [MyTimer invalidar];

Sin embargo, "invalidar" el contador de tiempo que sea "peligroso" de la variable - global - myTimer . Así que la mejor manera - y seguro - para detener un cronómetro podría ser:

1
2
3
4
myTimer != nil ) { if (myTimer! = nil) {
; [MyTimer invalidar];
; myTimer = nil;
}

Este procedimiento también puede ser útil para restablecer un contador de tiempo (global):

1
2
3
4
5
6
7
8
9
10
myTimer != nil ) { if (myTimer! = nil) {
; [MyTimer invalidar];
; myTimer = nil;
/ / Poner el contador a 25 segundos
NSTimer scheduledTimerWithTimeInterval : 25.0 myTimer = [ NSTimer scheduledTimerWithTimeInterval: 25,0
Objetivo: auto
( myTimerMethod ) selector: @ selector (myTimerMethod)
userInfo: nil
] ; repite: YES];
}

No hay comentarios para esta entrada

Deja un comentario

XHTML PERMISO TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Dejar de SOPA