我正在创建一个使用25个标签数组的应用。我希望为这些标签分配1到25之间的随机数,这些数字不会重复。我可以弄清楚如何将这些标签分配给1到25之间可以重复的随机数,但我无法弄清楚如何不重复这些数字。到目前为止,我的代码如下。
for label in labelsArray {
let randomNumber = (arc4random() % 25) + 1
label.text = "\(randomNumber)"
是否可以将每个标签分配给1到25之间的不同数字?
答案 0 :(得分:0)
不是生成25个随机数,而是从数组1...25
开始,然后随机抽取数组。
(实际上在这种特殊情况下,您可以从25个标签的数组开始,对数组进行洗牌,然后按顺序为它们分配数字。)
答案 1 :(得分:0)
从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)"
}