Arrays 我不想在swift 3中重复同样的单词,我该怎么办?
我正在尝试制作一个能够显示单词和句子的应用程序,但它通常是同一个单词或句子。我该怎么做才能不重复同样的话呢Arrays 我不想在swift 3中重复同样的单词,我该怎么办?,arrays,swift,repeat,Arrays,Swift,Repeat,我正在尝试制作一个能够显示单词和句子的应用程序,但它通常是同一个单词或句子。我该怎么做才能不重复同样的话呢 @IBOutlet weak var label: UILabel! override func viewDidLoad() { super.viewDidLoad() } var array = ["word 1", "Word 2", "Word 3", "Word 4",
@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更改为:
func changeWord() {
guard !array.isEmpty else {
// list is empty
return
}
let randomInt = Int(arc4random_uniform(UInt32(array.count)))
label.text = array.remove(at: randomInt)
}
.removeat:方法在指定的Int处从数组中移除元素并返回它
编辑:正如LeoDabus指出的那样。实际上,将数组的计数与零进行比较要比使用isEmpty并随后访问计数慢。更新了函数。从数组中删除生成的单词,以便下次选择单词时该单词不可用。重复,直到数组为空。那我该怎么办?谢谢!它工作得很好!是否可以显示一个文本,不再显示单词,然后重新开始?