This question already has answers here:
How do I shuffle an array in Swift?
                                
                                    (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)"
}

09-11 06:08
查看更多