我在斯威夫特2取得了问答游戏,去年,现在我需要当我把它转化为斯威夫特3答案现在随机再次使用它......这里有一个简单的问题...结构为什么我的答案在我的问答游戏中随机化?
Questions = [Question(Question: "What is the Biggest Hit of Bing Crosby?" , Answers: ["Swinging on a Star", "Now is the Hour", "White Christmas", "Beautiful Dreamer"], Answer: 2),]
这是我随机化问题,并把它们放到标签
func PickQuestions() {
counter += 1
score += 1
scoreLbl.text = "\(score)"
restartBtn.isEnabled = false
if Questions.count > 0 && counter <= 15 {
QNumber = Int(arc4random_uniform(UInt32(Questions.count)))
QLabel.text = Questions[QNumber].Question
AnswerNumber = Questions[QNumber].Answer
for i in 0..<Buttons.count{
Buttons[i].setTitle(Questions[QNumber].Answers[i], for: UIControlState())
}
Questions.remove(at: QNumber)
}
}
我不得不手动更改以下行这可能引起了从一个问题...
QNumber = Int(arc4random_uniform(UInt32(Questions.count)))
到
QNumber = random() % Questions.count
感谢
你应该坚持Swift编程标准/命名约定。变量不应该大写,应该是骆驼大小写。对我们来说,你所有的变量看起来像类,可能会让我们感到困惑,因为那时我们认为这些类可能以某种方式操纵数据,而我们不知道。如果它不是类,枚举,类型,协议或结构,请不要使它们大写。 –