我在做我的测验应用。我得到了一个包含单词,翻译,定义等的结构化数组。每次回答后,我的应用程序都会生成一个随机问题。所以,我的问题是如果用户连续3次正确删除了我的数组中的单词。
如何将计数器附加到正确回答的单词(将为数组中的每个单词计算正确的答案)?
我试图将我的数组加倍,然后删除这个单词,但这是很多编码和重复的行。
答案 0 :(得分:0)
您可以使用此类获取下一个问题,并在问题得到正确回答后更新数组:
class QuestionProvider {
struct Question {
let question: String
let answer: String
var rightAnswers: Int
init(question: String, answer: String) {
self.question = question
self.answer = answer
self.rightAnswers = 0
}
}
private var questions = [Question]()
func add(question: Question) {
questions.append(question)
}
func getNextQuestion() -> Question {
let index = Int(arc4random_uniform(UInt32(questions.count)))
return questions[index]
}
func answeredCorrectly(question: Question) {
guard let index = questions.index(where: {$0.question == question.question}) else { return }
var qa = questions[index]
qa.rightAnswers += 1
if qa.rightAnswers >= 3 {
questions.remove(at: index)
} else {
questions[index] = qa
}
}
}