我不想在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
并在之后访问计数要慢。更新了功能。
我正在尝试制作一个可以显示单词和句子的应用程序,但它通常是同一个单词或句子。怎样才能不重复同样的话
@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
并在之后访问计数要慢。更新了功能。