2010-12-10 18 views
0

Ich verwende [NSTimer scheduledTimerWithInterval:selector:@selector(loop):repeats:YES], um eine unendliche Schleife zu erstellen, wobei -loop() jedes Intervall aufgerufen wird. Mein Viewcontroller hat auch eine -touchesBegan um UITouch's zu verarbeiten. Angenommen, der Bildschirm wird berührt und ein UIEvent ausgelöst, wird der Code in -touchesBegan zuerst in der Ausführungsschleife ausgeführt oder der Code in der -loop aufgerufen von NSTimer zuerst ausgeführt?Reihenfolge der Ausführung in Laufschleife

Antwort

2

Es wird in this Apple document erklärt.

Allerdings ist es nicht so nützlich. NSTimer ist kein Echtzeitmechanismus und Sie können nicht genau vorhersagen, wann es ausgelöst wird. Es hängt auch davon ab, wie oft iOS Berührungsereignisse registriert und wie oft der Timer für das Auslösen konfiguriert wird. Es wäre ein sehr, sehr, sehr schlechte Idee, einen Code zu schreiben, der auf diese Feinheiten und Funktionen tief in der Dokumentation, die ich gerade zitiert begraben hängt.

Schreiben Sie Code, der nicht davon abhängt, was Sie gerade gefragt haben.

Verwandte Themen