我是swift的新手,现在我只是在玩玩和学习。我有一个字符串数组,并使用arc4random_uniform打印这些文本行。但我似乎想不出如何排除已经挑选的人不被重复挑选。至少在剩下的都选好之前。我得到的是:
let array1 = ["pizza", "carrot", "fish", "monkey", "window"]
let pickOfArray = Int(arc4random_uniform(4))
print (array1[pickOfArray])发布于 2017-07-14 18:54:37
创建所选索引的第二个数组,并将代码更改为:
获取值
发布于 2017-07-14 19:13:12
<>G29
基本上,将数组1中使用的所有值放入数组2中,直到使用了数组1中的所有值,然后以相反的方式重复(或将所有值放回数组1中)。
发布于 2017-07-14 19:27:38
另一种选择是,如果您可以更改原始Array,则只需在使用元素时将其删除:
var array1 = ["pizza","carrot","fish","monkey","window"]
while array1.count > 0 {
let pickOfArray = array1.remove(at: Int(arc4random_uniform(UInt32(array1.count))))
print(pickOfArray)
}https://stackoverflow.com/questions/45101014
复制相似问题