Swiftコードのsleep
機能に問題があります。私はimport Darwin
とusleep(400000)
を使用しています。睡眠に達する前にいくつかの行動がブロックされ、私はなぜ知りません。ここに私のコードからの短い例:Swiftの遅延/スリープが動作していません
@IBAction func Antwort4Button(_ sender: Any) {
if (richtigeAntwort == "4"){
Antwort4.backgroundColor = UIColor.green
Ende.text = "Richtig!"
NaechsteFrage()
}
else {
Ende.text = "Falsch!"
//NaechsteFrage()
}
}
func NaechsteFrage() {
usleep(400000)
Antwort1.backgroundColor = UIColor.red
Antwort2.backgroundColor = UIColor.red
Antwort3.backgroundColor = UIColor.red
Antwort4.backgroundColor = UIColor.red
Ende.text = ""
FragenSammlung()
}
この行は実行されませんされます。
Antwort4.backgroundColor = UIColor.green
Ende.text = "Richtig!"
は、なぜこれらのアクションをブロックし、睡眠を呼び出していますか? import Darwin
とsleep
を削除すると、コードがうまく動作します。誰にもアイデアはありますか?私の悪い英語のため申し訳ありません:P
'睡眠'またはバリアントを使用しないでください。あなたは何もしないメインスレッドをブロックしています。 ['dispatch_after'を使用してください(https://developer.apple.com/reference/dispatch/1452876-dispatch_after) – jcaron