반응형
swift 2.2에서 몇 밀리초 동안 자는 방법?
swift 2.2에서 몇 밀리초 동안 sleep을 사용하는 방법을 알려주실 분 있나요?
while (true){
print("sleep for 0.002 seconds.")
sleep(0.002) // not working
}
그렇지만
while (true){
print("sleep for 2 seconds.")
sleep(2) // working
}
효과가 있습니다.
ussleep () 수백만 분의 1초가 걸립니다.
usleep(1000000) //will sleep for 1 second
usleep(2000) //will sleep for .002 seconds
OR
let ms = 1000
usleep(useconds_t(2 * ms)) //will sleep for 2 milliseconds (.002 seconds)
OR
let second: Double = 1000000
usleep(useconds_t(0.002 * second)) //will sleep for 2 milliseconds (.002 seconds)
나는 보다 더 우아하다고 생각합니다.usleep
현재 swift 구문의 솔루션은 다음과 같습니다.
Thread.sleep(forTimeInterval: 0.002)
사용하다func usleep(_: useconds_t) -> Int32
(수입)Darwin
또는Foundation
...)
중요:usleep()
수백만 분의 1초가 걸립니다.usleep(1000000)
1초 동안 잘 것입니다.
만약 당신이 정말 잠이 필요하다면, 노력하세요.usleep
@user3441734의 답변에 제시된 바와 같이.
그러나 수면이 가장 좋은 옵션인지 여부를 고려해야 할 수도 있습니다. 수면은 일시 중지 버튼과 같고 앱이 실행되는 동안 중지되고 응답이 없습니다.
다음을 사용할 수 있습니다.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
}
우리의 수면을 위한 논블로킹 솔루션:
DispatchQueue.global(qos: .background).async {
let second: Double = 1000000
usleep(useconds_t(0.002 * second))
print("Active after 0.002 sec, and doesn't block main")
DispatchQueue.main.async{
//do stuff in the main thread here
}
}
또는 다음과 같습니다.
DispatchQueue.main.asyncAfter(deadline: .now() + 0.002) {
/*Do something after 0.002 seconds have passed*/
}
예: 단추 알파 값 변경
sender.alpha = 0.5
DispatchQueue.main.asyncAfter(deadline:.now() + 0.2){
sender.alpha = 1.0
}
언급URL : https://stackoverflow.com/questions/38119742/how-to-sleep-for-few-milliseconds-in-swift-2-2
반응형
'programing' 카테고리의 다른 글
Git는 왜 암호화 해시 함수를 사용합니까? (0) | 2023.08.12 |
---|---|
Python에서 정렬된 목록에 항목 삽입 (0) | 2023.08.12 |
엑셀 VBA에서 sql 데이터베이스로 매개 변수를 전달할 때 adDecimal 유형을 사용하는 방법은 무엇입니까? (0) | 2023.08.07 |
MariaDB 10.1의 창 기능에 대한 대안 (0) | 2023.08.07 |
C# 6.0을 사용하기 위한 레이저 뷰 엔진 제조 방법 (0) | 2023.08.07 |