Итак, я работал над созданием приложения, которое, если вы нажмете на кнопку, вызывает 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()
}
}
Этот код внутри класса? Он должен находиться внутри вашего контроллера просмотра. Кроме того, убедитесь, что вы подключили этот метод к своей кнопке через построитель интерфейса. – Connor
Я сделал обе эти вещи, просто не показал весь код – MGallo
Хорошо, тогда будет легче ответить, если вы покажете больше кода. Ваши переменные времени отправки также должны быть внутри IBAction, иначе они будут инициализированы правильно, поскольку контроллер загружается, хотя это не должно вызывать вашу функцию. У вас нет явных вызовов 'startGame' в другом месте? – Connor