所以我一直在創建一個應用程序,如果你按下按鈕,它會觸發startGame。然後,應該等待更改每個圖像之前創建的延遲。延遲工作,但他們一開始我的應用程序啓動,而不是當我按下按鈕。自從我一直試圖修復它。有什麼建議麼?快速延遲問題
感謝您的幫助!
以下是我認爲比較重要的代碼:
let deadlineTime = DispatchTime.now() + .seconds(1)
let deadlineTime2 = DispatchTime.now() + .seconds(2)
let deadlineTime3 = DispatchTime.now() + .seconds(3)
let deadlineTime4 = DispatchTime.now() + .seconds(4)
@IBAction func startGame(_ sender: AnyObject) {
trumpImage.isHidden = false
DispatchQueue.main.asyncAfter(deadline: deadlineTime) {
self.trumpImage.image = UIImage(named: "trumpTurnOne")
}
DispatchQueue.main.asyncAfter(deadline: deadlineTime2) {
self.trumpImage.image = UIImage(named: "trumpTurnTwo")
}
DispatchQueue.main.asyncAfter(deadline: deadlineTime3) {
self.trumpImage.image = UIImage(named: "trumpTurnThree")
}
DispatchQueue.main.asyncAfter(deadline: deadlineTime4) {
self.runGame()
}
}
此代碼是否在類中?它應該在你的View Controller內部。另外,請確保您已通過界面構建器將此方法連接到您的按鈕。 – Connor
我已經完成了這兩件事,只是沒有顯示所有的代碼 – MGallo
好吧,如果你顯示更多的代碼,它會更容易回答。你的調度時間變量也應該在IBAction的內部,否則它們會在控制器加載時被正確初始化,儘管這不應該觸發你的功能。你在其他地方沒有任何明確的調用'startGame'? – Connor