Как сравнить пользовательский ввод с перемешанным объектом массива - PullRequest
0 голосов
/ 12 мая 2019

У меня есть банк вопросов, которые связаны с моим пользовательским классом. Вопрос

class QuestionBank {
    var list = [Question]()


    init() {
        // Creating a quiz item and appending it to the list
        let item = Question(text: "2² = ", correctAnswer: 4)

        list.append(item)

        list.append(Question(text: "3² = ", correctAnswer: 9))
        list.append(Question(text: "4² = ", correctAnswer: 16))
        list.append(Question(text: "5² = ", correctAnswer: 25))

        // and so on...
    }
}

Вот этот пользовательский класс. Вопрос

let answer : Int
let questionText : String

init(text : String, correctAnswer : Int) {
    questionText = text
    answer = correctAnswer
}

. У меня есть кнопкана нем, все QQutions (равно QuestionBank) перемешивается.Далее пользователь вводит свой ответ

@IBAction func truePressed(_ sender: Any) {
    allQuestions.list.shuffle()
    questionLabel.text = allQuestions.list[questionNumber].questionText
    if Int(textField.text!) == allQuestions.list[questionNumber].answer {
        print("yes")
    }
    textField.text = ""
}

Проблема в том, что консоль ничего не выводит.Я думаю, что это происходит потому, что, когда происходит shuffle (), и 'questionText', и 'answer' тасуются, или я ошибаюсь?Если я прав, как я могу изменить тасование «allQuestions», чтобы при нажатии кнопки textField считывал пользовательский ввод, а затем ввод (textField.text) сравнивался с «allQuestions.list [questionNumber] .answer '?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...