sleep (1)을 사용할 때, 내 앱은 1 초가 아닌 전체 루프를 잠자 게됩니다. 90 초 후. 레이블은 매 초 대신 업데이트됩니다.신속하게 sleep을 사용하는 방법 2.2
코드 :
while time < 90 {
let goal = Int(arc4random_uniform(MAX) + MIN)
if goal < 5 {
scoreA = scoreA + 1
} else if goal > 15 {
scoreB = scoreB + 1
}
time = time + 1
scoreLabel.text = "\(scoreA) - \(scoreB)"
timeLabel.text = "\(time) min."
sleep(1)
}
당신이하지 말아야 할 백그라운드 스레드에서 레이블을 업데이트하는 것처럼 들립니다. – Codo
@ 코도 왜 그 사람이 그렇게 생각하니? – pedrouan
이런 종류의 이상한 지연을 본 적이 있습니다. 문제를 디버깅 할 때 UI 업데이트 코드가 백그라운드 스레드 (내 측면의 감독)에서 실행되고 있음을 발견했습니다. – Codo