Comment dormir quelques millisecondes dans swift 2.2?

Veuillez me dire comment utiliser sleep () pendant quelques millisecondes dans swift 2.2?

while (true){
    print("sleep for 0.002 seconds.")
    sleep(0.002) // not working
}

Mais

while (true){
    print("sleep for 2 seconds.")
    sleep(2) // working
}

Ça marche.

25
demandé sur sulabh qg 2016-06-30 12:56:40

3 réponses

Usleep () prend des millionèmes de seconde

usleep(1000000) //will sleep for 1 second
usleep(2000) //will sleep for .002 seconds

Ou

 let ms = 1000
 usleep(useconds_t(2 * ms)) //will sleep for 2 milliseconds (.002 seconds)

Ou

let second: Double = 1000000
usleep(useconds_t(0.002 * second)) //will sleep for 2 milliseconds (.002 seconds)
49
répondu Harris 2018-09-14 21:55:49

Utiliser func usleep(_: useconds_t) -> Int32 (import Darwin ou Foundation ...)

8
répondu user3441734 2016-07-02 15:06:56

Si vous avez vraiment besoin de dormir, essayez usleep comme suggéré dans la réponse de @user3441734.

Cependant, vous pouvez envisager si le sommeil est la meilleure option: c'est comme un bouton de pause, et l'application sera gelé et insensible alors qu'il est en cours d'exécution.

, Vous pouvez utiliser NSTimer.

 //Declare the timer
 var timer = NSTimer.scheduledTimerWithTimeInterval(0.002, target: self, selector: #selector(MyClass.update), userInfo: nil, repeats: true)
 self, selector: "update", userInfo: nil, repeats: true)



func update() {
    // Code here
}
3
répondu rocket101 2016-07-01 13:54:38