arrays - 从 Swift 3 中的字符串数组中读取随机项

标签 arrays swift loops iteration

我在 Swift 3 (Xcode) 中有一个 String 数组,我想从中读出 5 个随机的唯一元素。我正在尝试这样的事情:

class ViewController: UIViewController {

    @IBOutlet var Nr1: UILabel!
    @IBOutlet var Nr2: UILabel!
    @IBOutlet var Nr3: UILabel!
    @IBOutlet var Nr4: UILabel!
    @IBOutlet var Nr5: UILabel!

    myArray = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]

    func foo() {
        for index in 0..<6 {
            let randomNr = Int(arc4random_uniform(UInt32(myArray.count)))
            Nr+(index).text = String (randomNr)
        }
    }

}

但我不能将迭代索引作为占位符来获取 Nr1.textNr2.textNr3.text、等等

下一个问题是:如何比较随机项目以使它们是唯一的?

有人可以帮我解决这个问题吗?

最佳答案

我这样做的方法是将它们插入到数组列表中并生成一个介于 0 和列表大小之间的数字。使用此编号获取该项目并将其从列表中删除,然后重复此过程。每次尺寸都会变小,并且不可能获得非唯一的项目,因为您在获取它们时将其删除。

关于arrays - 从 Swift 3 中的字符串数组中读取随机项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48750717/

相关文章:

arrays - 在多维数组上使用 apply

c - 从 C 中的输入文件扫描直到到达某个字符 (#)?

java - 多线程|| java

java - 在java中遍历多张excel

php - MYSQL打印数据库记录数组

java - Java中的"Exception in thread "main "java.util.InputMismatchException"错误(从文件读取数据到数组)

arrays - 如何根据 Ruby 数组的内容删除项目?

swift - 用 Moya 处理缓存

swift - Firebase 按顺序获取数据

swift - 在 Swift 中,这个特定的语法是什么意思?