将不重复的随机数分配给标签数组中的文本 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)"
}