我不想在swift中重复同样的话 3、我怎么办?

I don't want repeat the same words in swift 3, how do I do?

我正在尝试制作一个可以显示单词和句子的应用程序,但它通常是同一个单词或句子。怎样才能不重复同样的话

@IBOutlet weak var label: UILabel!


override func viewDidLoad() {
    super.viewDidLoad()

}

var array =  ["word 1",
              "Word 2",
              "Word 3",
              "Word 4",
              "Word 5",
              "Word 6",
              ]

@IBAction func randomWord(_ sender: Any) {
     changeWord()
}



func changeWord() {
    let randomWordGen = Int(arc4random_uniform(UInt32(array.count)))
    label.text = array[randomWordGen]
}

将您的功能更改为:

 func changeWord() {
     guard !array.isEmpty else {
          // list is empty
          return 
     }
     let randomInt = Int(arc4random_uniform(UInt32(array.count)))
     label.text = array.remove(at: randomInt)
 }

.remove(at:) 方法从数组中删除指定 Int 处的元素,returns 它。

编辑:正如 LeoDabus 指出的那样。将数组的计数与零进行比较确实比使用 isEmpty 并在之后访问计数要慢。更新了功能。