将不重复的随机数分配给标签数组中的文本 Swift
Assigning Random numbers that don't repeat to the text in an array of labels Swift
我正在创建一个使用 25 个标签数组的应用程序。我希望为这些标签分配 1 到 25 之间的随机数,这些数字不会重复。我可以弄清楚如何将这些标签分配给 1 到 25 之间可以重复的随机数,但我不知道如何不让这些数字重复。到目前为止,我的代码如下。
for label in labelsArray {
let randomNumber = (arc4random() % 25) + 1
label.text = "\(randomNumber)"
是否可以为每个标签分配 1 到 25 之间的不同数字?
不是生成 25 个随机数,而是从数字数组 1...25
开始,然后 随机打乱 数组。
(实际上在这种特殊情况下,您可以从 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)"
}
我正在创建一个使用 25 个标签数组的应用程序。我希望为这些标签分配 1 到 25 之间的随机数,这些数字不会重复。我可以弄清楚如何将这些标签分配给 1 到 25 之间可以重复的随机数,但我不知道如何不让这些数字重复。到目前为止,我的代码如下。
for label in labelsArray {
let randomNumber = (arc4random() % 25) + 1
label.text = "\(randomNumber)"
是否可以为每个标签分配 1 到 25 之间的不同数字?
不是生成 25 个随机数,而是从数字数组 1...25
开始,然后 随机打乱 数组。
(实际上在这种特殊情况下,您可以从 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)"
}