Mam potrzebę opóźnienia o określoną ilość czasu, a jednocześnie zezwalam na dalsze działanie innych rzeczy na tym samym runloopie. Używam następujący kod, aby to zrobić:Właściwy sposób na opóźnienie, pozwalając na kontynuowanie pętli uruchamiania
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
Wydaje się to zrobić dokładnie to, co chcę, oprócz tego, że czasami zwraca natychmiast, bez czekania żądany czas (1 sekunda).
Czy ktoś może mi powiedzieć, co może spowodować? I jaki jest właściwy sposób oczekiwania na uruchomienie pętli uruchamiania?
UWAGA: Chcę opóźnić w sposób podobny do trybu uśpienia(), tak aby po opóźnieniu powróciłem do tego samego strumienia wykonywania, co poprzednio.
Czego chcesz się opóźnić? Czy spojrzałeś na 'dispatch_after'? –
Chcę opóźnić bieżący wątek w sposób podobny do trybu uśpienia(), z wyjątkiem tego, że chcę, aby runloop nadal działał (aby inne zdarzenia i inne rzeczy mogły się uruchomić) podczas tego czasu opóźnienia. – Locksleyu