Как перейти к определенной раскадровке, если условие выполняется? - PullRequest
0 голосов
/ 28 января 2019

Я разрабатываю простое приложение для викторин.

У меня есть раскадровка с textview (содержит вопрос) и 3 кнопками (ответами), когда пользователь нажимает ответ, мне нужно проверить, правильный ли ответ илине.если это правильно, будет присутствовать другая раскадровка (содержащая успешное сообщение).поэтому я выполнил действие для каждой кнопки, но проблема в том, что вторая раскадровка (успешное сообщение) появляется через несколько секунд, а затем снова появляется раскадровка предварительного просмотра (вопрос). Я хочу, чтобы успешное сообщение было на экране.код:

  @IBAction func click1(_ sender: Any) {
    if (opt1.titleLabel?.text) != nil {
        let userAnswer=opt1.titleLabel?.text;

        if ((userAnswer!.elementsEqual(self.optionsArray[0])) == true)
        {
           playSound(fileName: "kidsCheering")

            let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
            let QMessagesViewController = storyBoard.instantiateViewController(withIdentifier: "QMessage") as! QMessagesViewController
            self.present(QMessagesViewController, animated: true, completion: nil)
        }

Спасибо

и вот ошибка, которую я получил: Попытка представить во время презентации!

1 Ответ

0 голосов
/ 28 января 2019

Пожалуйста, измените имя переменной viewcontroller следующим образом и удалите segue, если оно добавлено, или используйте только segue:

    let qMessagesVC = storyBoard.instantiateViewController(withIdentifier: "QMessage") as! QMessagesViewController
    self.present(qMessagesVC, animated: true, completion: nil)
...