Die Verwendung von Timern ( NSTimer ), um Anwendungen für Apple iPhone zu entwickeln, ist sehr häufig, nicht nur in Spiele zu machen. Eines der Probleme, mit denen man kollidieren wird die Asynchronität der Timer, der führt, kann bei der Verhaftung von einem oder mehreren Timer, der Absturz der Anwendung. , si invoca la invalidate che, appunto, arresta il timer. Wenn Sie einen oder mehrere Timer, wo aufhören wollen repeats eingestellt ist YES , ruft es die invalidate , die gerade, wird die Zeit gestoppt. Zum Beispiel den folgenden Code aktiviert einen Timer, der die Methode aufruft myTimerMethod alle 5 Sekunden:
1 2 3 4 5 6 7 8 9 10 11 12 | / / / / MyTimer ist als global definiert / / NSTimer scheduledTimerWithTimeInterval : 5.0 myTimer = [ NSTimer scheduledTimerWithTimeInterval: 5,0 Ziel: Selbst ( myTimerMethod ) selector: @ selector (myTimerMethod) userInfo: nil ] ; Wiederholungen: YES]; / / void ) myTimerMethod { - (Void) {myTimerMethod / / Do ... } |
Wenn wir wollten, um den Timer zu stoppen:
1 | ; [MyTimer ungültig]; |
Doch "ungültig" den Timer machen es "gefährlich" die Variable - global - myTimer . So ist die beste Art und Weise - und sicher - mit einem Timer zu stoppen sein könnte:
1 2 3 4 | myTimer != nil ) { if (myTimer! = nil) { ; [MyTimer ungültig]; ; myTimer = nil; } |
Dieses Verfahren kann auch nützlich sein, einen Timer (global) zurückgesetzt werden:
1 2 3 4 5 6 7 8 9 10 | myTimer != nil ) { if (myTimer! = nil) { ; [MyTimer ungültig]; ; myTimer = nil; / / Reset des Timers bis 25 Sekunden NSTimer scheduledTimerWithTimeInterval : 25.0 myTimer = [ NSTimer scheduledTimerWithTimeInterval: 25,0 Ziel: Selbst ( myTimerMethod ) selector: @ selector (myTimerMethod) userInfo: nil ] ; Wiederholungen: YES]; } |










Es gibt keine Kommentare für diesen Beitrag
Hinterlasse einen Kommentar