W moim programie iOS chcę funkcję wstrzymać na 1 sekundę. Jaki kod mam napisać, aby to zrobić?Sposób wstrzymywania czasu w programowaniu w systemie iOS
Odpowiedz
można użyć jednego z nich: sleep(1);
lub wait(1);
Albo można użyć [NSThread sleepForTimeInterval:1.0]
I jest również performSelector:withObject:afterDelay
Albo, umieść pozostałe zadania w bloku i zaplanuj je z 'dispatch_after';) – Abizern
Spanie prawie na pewno nie jest dobrym pomysłem. Jeśli Twinkle nie wie, jak już używać funkcji "uśpienia", wątpię, aby e używało wątku tła. Oznacza to wstrzymanie wątku interfejsu użytkownika. –
Próbuję wstrzymać wątek tła. – Twinkle
Nowszy na iOS są bloki zakończenia. Jeśli chcesz wykonać jakąś akcję po wykryciu kontrolera widoku, możesz teraz użyć bloków. Niedawno użyłem tej metody, aby zamknąć kontrolkę widoku komponentu widoku, a następnie w razie powodzenia uruchom kontroler widoku.
Stary sposób:
[controller dismissModalViewControllerAnimated:YES];
// Use an NSThread or performSelector:withObject:afterDelay
New Way:
[controller dismissViewControllerAnimated:YES completion:^{
if (result != MessageComposeResultCancelled){
// If cancelled remain on current screen, else pop to parent view controller
[self.navigationController popViewControllerAnimated:YES];
}
}];
Innym sposobem, aby to zrobić:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{//Place code here});
sleep() i wait() są czasami patrzył w dół, ale tak długo, jak rozumiesz, co się dzieje, użyj go na wolnej woli
- 1. Najszybszy sposób na cienie w systemie iOS?
- 2. Limit czasu połączenia NSURLConnection w systemie iOS8
- 3. Jak korzystać z pList w programowaniu na iOS
- 4. Mutowalność w programowaniu funkcjonalnym
- 5. Redukcje w programowaniu
- 6. Dostęp do dekodera wideo w systemie iOS?
- 7. Sposób obsługi funkcji UserNotifications Akcje w systemie iOS 10
- 8. Symbol rupii w systemie iOS
- 9. MKRoadWidthAtZoomScale w systemie iOS 6?
- 10. Stopka statyczna w systemie iOS
- 11. Jak ustawić alarm w systemie iOS?
- 12. NSURLConnection działa idealnie w systemie iOS 4.3, ale nie w systemie iOS 5/iOS 6
- 13. Synchronizacja książki adresowej w systemie iOS
- 14. [: Nieoczekiwany operator w programowaniu powłoki
- 15. Co oznacza "pakowanie" w programowaniu?
- 16. użyj dplyr mutate() w programowaniu
- 17. Zrozumienie sekwencjonowania w programowaniu funkcjonalnym
- 18. Używanie filtra dplyr() w programowaniu
- 19. Funkcja htons() w programowaniu gniazd
- 20. Ignorowanie typu dynamicznego w systemie iOS: Dostępność
- 21. Uzyskaj identyfikator UDID w systemie iOS 8 +
- 22. Uszkodzenie dowiązań symbolicznych w niestandardowym systemie iOS
- 23. zostaćFirstResponder nie działa w systemie iOS 8
- 24. Interprocess SQLite Bezpieczeństwo wątków (w systemie iOS)
- 25. navigationController.viewControllers Działa inaczej w systemie iOS 8.2
- 26. UIButton nie wywołuje akcji w systemie iOS 5, ale działa w systemie iOS 6
- 27. Dlaczego zawartość paska nawigacji jest wyświetlana w systemie iOS 11, ale nie w systemie IOS 10?
- 28. Podstawowe błędy uwierzytelniania w systemie iOS 8
- 29. Niestandardowy licznik czasu niestandardowego iOS
- 30. W jaki sposób można przekazywać wiele parametrów w ciągu NSURL w systemie iOS?
Trudno odpowiedzieć na to poprawnie, nie wiedząc, dlaczego chcesz zatrzymać się na chwilę. O ile nie jesteś ostrożny - po prostu zablokujesz interfejs na sekundę, co jest bardzo złe. – Abizern