因此,我正在开发iOS测验应用程序,并将我的代码设置为具有包含问题和功能的数组,其中包含一系列问题的随机问题。我怎么能配置代码,以确保问题已被问及从数组中移除,直到数组中的所有其他问题得到解答为止,或者直到数组中的后续问题被回答错误并重置整个测验,然后再添加回所有被回答的问题一旦被重置就回到阵列中了?我将如何配置代码以查看随机问题是否已被用户回答?基本上,一旦问了一个问题,我不希望它再次询问,直到首先询问所有其他问题。如何在数组得到回答后从数组中移除元素?
这里是我的代码(我想这是问一次之后的FUNC randomQuestion从数组中删除的问题):
@IBOutlet weak var questionLabel: UILabel!
let questions = [//array of questions inside these brackets]
//random question generation function
func randomQuestion() {
index = Int(arc4random_uniform(UInt32(questions.count)))
questionLabel.text = questions[index]
你试过了什么?可以显示您当前正在使用的代码的一部分,我们可以从那里开始 – Joshua
我希望您的测验中的问题比本帖中的第一个更容易理解,或者至少比第一个更短:P –
生成您的一系列问题:创建一个随机化部分),并从数组的末尾开始逐个挑选和删除问题(例如从堆栈数据对象中)。如果用户回答了错误的问题:扔掉混洗的可变数组并重新洗牌原始完整问题数组:重复,直到混洗数组变为空,在这种情况下,用户成功回答所有问题(以随机顺序)。 – dfri