Ich habe eine Verzögerung für eine bestimmte Zeit und muss trotzdem andere Dinge auf demselben Runloop weiterlaufen lassen. Ich habe den folgenden Code benutzen dies zu tun:Korrekte Art zu verzögern, während die Run-Schleife fortgesetzt werden kann
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
Dies scheint genau das zu tun, was ich will, außer dass manchmal die Funktion sofort zurück, ohne die gewünschte Wartezeit (1 Sekunde).
Kann mir jemand sagen, was könnte das verursachen? Und was ist der richtige Weg zu warten, während die Run-Schleife laufen darf?
HINWEIS: Ich möchte in einer ähnlichen Weise wie sleep() verzögern, so dass ich nach der Verzögerung wieder im gleichen Ausführungsstream wie zuvor bin.
Was möchten Sie verzögern? Hast du "dispatch_after" angeschaut? –
Ich möchte den aktuellen Thread verzögern, ähnlich wie bei sleep(), außer dass ich möchte, dass der Runloop während dieser Verzögerungszeit weiterläuft (so dass andere Ereignisse und andere Dinge eintreten können). – Locksleyu