arrays - 为标签数组中的文本分配不重复的随机数 Swift

标签 arrays swift label

我正在创建一个使用 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)"
}

关于arrays - 为标签数组中的文本分配不重复的随机数 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34112168/

相关文章:

javascript - Node js中唯一的json数据对象

javascript - 如何反向迭代 aurelia 阵列中继器?

java - 从文本文件中选择一个随机单词

swift - 如何在 Swift 3 中从 Firebase 中删除特定键

c# - TableLayoutPanel 标签对齐到左上角?

php - 将两个数组中的行插入到php中的mysql表中

ios - 清除 Swift UI 和 ObservableObject 对象数据

ios - 如何将 APN 认证上传到 Firebase 以进行 FCM

javascript - Titanium JavaScript - 将彩色对象放置在现有标签上

python - 使用 matplotlib 将鼠标悬停在散点图上的点标记为 x、y 坐标以外的某个标签