Nel mio programma iOS, voglio che una funzione si fermi per 1 secondo. Che codice devo scrivere per fare questo?Come mettere in pausa il tempo nella programmazione iOS
risposta
È possibile utilizzare uno di questi: sleep(1);
o wait(1);
Oppure si può utilizzare [NSThread sleepForTimeInterval:1.0]
e c'è anche performSelector:withObject:afterDelay
Oppure, metti il resto delle attività in un blocco e pianificalo con 'dispatch_after';) – Abizern
Dormire non è quasi certamente una buona idea. Se Twinkle non sa come usare 'sleep' già, dubito che e stia usando un thread in background. Ciò significa mettere in pausa il thread dell'interfaccia utente. –
Sto provando a mettere in pausa un thread in background. – Twinkle
più recente di iOS sono blocchi di completamento. Se è necessario eseguire qualche azione dopo che un controller di visualizzazione è spuntato, ad esempio, ora è possibile utilizzare i blocchi. Recentemente ho usato questo metodo per chiudere un messaggio di composizione in un controller di visualizzazione e quindi inserire il controller di visualizzazione corrente in caso di successo.
Vecchio modo:
[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];
}
}];
Un altro modo per farlo è:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{//Place code here});
sleep() ed attendere() sono a volte guardava dall'alto in basso ma fino a quando capisci che cosa sta succedendo usalo a tuo piacimento
- 1. Come ottenere il tempo in Programmazione iOS
- 2. Come mettere in pausa/riprendere i download in iPhone (iOS)
- 3. Mettere in pausa un processo?
- 4. Come mettere in pausa un NSTimer?
- 5. come mettere in pausa/riprendere una discussione
- 6. Come mettere in pausa usando DownloadManager?
- 7. C# Come mettere in pausa un timer?
- 8. Come mettere in pausa durante l'animazione/transizione
- 9. Come mettere in pausa/riprendere AVPlayer precarico
- 10. Come mettere in pausa il ridisegno in XNA?
- 11. Come per mettere in pausa il suono quando l'uso SpriteKit
- 12. Come mettere in pausa il timer handler.postDelayed() su Android
- 13. Impossibile mettere in pausa SKEmitterNode in iOS9
- 14. Impossibile mettere in pausa nano nel terminale
- 15. È possibile mettere in pausa un'immagine .gif?
- 16. Come mettere in pausa completamente un gioco? SpriteKit/SceneKit [SWIFT]
- 17. Come mettere in pausa e riprendere un TimerTask/Timer
- 18. Come mettere in pausa un Threading.Timer per completare una funzione
- 19. come mettere in pausa la console in linguaggio F #
- 20. Come posso mettere in pausa tutte le animazioni jQuery?
- 21. Come posso mettere in pausa una NSOperation in NSOperationQueue?
- 22. Come calcolare il tempo medio di attesa e il tempo medio di restituzione nella programmazione SJF?
- 23. Come mettere in pausa un NSThread fino alla notifica?
- 24. Come mettere in pausa e quindi riprendere una discussione?
- 25. come faccio a mettere in pausa e riprendere un timer?
- 26. Come mettere in pausa Eclipse su qualsiasi eccezione?
- 27. Come per mettere in pausa e riprendere l'UIView.animateWithDuration
- 28. JavaFX2: Posso mettere in pausa un'operazione/servizio in background?
- 29. Mettere in pausa un SKAction in Spritekit con Swift
- 30. Mettere in pausa manualmente un'applicazione in Android Phone Phone
È difficile rispondere correttamente senza sapere perché vuoi fermarti per un secondo. A meno che tu non stia attento: bloccherai solo l'interfaccia utente per un secondo che è un'esperienza utente molto male. – Abizern