This question already has answers here:
How do I shuffle an array in Swift?
(25个答案)
4年前关闭。
我正在创建一个使用25个标签数组的应用程序。我希望为这些标签分配1到25之间的随机数,不要重复。我可以弄清楚如何将这些标签分配给1到25之间可以重复的随机数,但是我不知道如何不让这些数字重复。到目前为止,我的代码如下。
是否可以将每个标签分配给1到25之间的不同数字?
(25个答案)
4年前关闭。
我正在创建一个使用25个标签数组的应用程序。我希望为这些标签分配1到25之间的随机数,不要重复。我可以弄清楚如何将这些标签分配给1到25之间可以重复的随机数,但是我不知道如何不让这些数字重复。到目前为止,我的代码如下。
for label in labelsArray {
let randomNumber = (arc4random() % 25) + 1
label.text = "\(randomNumber)"
是否可以将每个标签分配给1到25之间的不同数字?
最佳答案
从1 ... 25数组开始,然后在选择数字时将其拉出:
var a = Array(1...25)
for label in labelsArray {
let index = Int(arc4random_uniform(UInt32(a.count)))
let randomNumber = a[index]
a.removeAtIndex(index)
label.text = "\(randomNumber)"
}