- Приложение для викторины Swift 4.
- Первый взгляд - выберите количество вопросов для решения.(используйте переход к второму виду)
- Второй вид - запустите тест -> проверенный ответ и отправьте «правильное» или «неправильное» сообщение в третье представление.(используйте переход к третьему представлению)
Когда появляется третье представление, я получаю сообщение об ошибке:
Попытка удалить из контроллера представленияво время презентации или отклонения!
Я пытался использовать:
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute:....
Предупреждающее сообщение исчезает, но проблема в том, что у меня нет доступа ко всемпеременные, которые я получил из второго представления для использования в третьем представлении.
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
if self.answerStatus == "Correct!" {
self.correctWrongStatusLabel.text = self.answerStatus
self.praiseLabel.text = "Good job!"
self.correctAnswerIsLabel.text = ""
let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(self.fireTimer), userInfo: nil, repeats: false)
self.fireTimer()
} else if self.answerStatus == "Wrong!" {
self.correctWrongStatusLabel.text = self.answerStatus
self.praiseLabel.text = "Maybe next time!"
self.correctAnswerIsLabel.text = "回答 : \(self.correctAnswerIs)"
let timer = Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #selector(self.fireTimer), userInfo: nil, repeats: false)
self.fireTimer()
}
})
@objc func fireTimer() {
delegate?.answerStatusReceived(answerStatusString: answerStatusString)
self.dismiss(animated: true, completion: nil)
}
После того, как второе представление появляется вместе с опросом, когда пользователь выбирает ответ, он проверяет его на соответствие правильному ответу и отображаетответ о том, что ответ правильный или неправильный.представление ответа должно автоматически закрываться после отображения в течение XX секунд.