Я пытаюсь заставить эту часть приложения работать, когда пользователь нажимает кнопку, а метка печатает случайно сгенерированное число от 1 до 12. Мне удалось это сделать, но я также хочу, чтобы не повторялись уже напечатанные случайные числа.
То, что я пытался сделать, это поместить любое напечатанное число в массив, а затем проверять массив каждый раз, когда он генерирует новый номер.
Я заставил его работать на игровой площадке, но не могу заставить его работать с реальным проектом.
Вот код моего проекта.
var usedNumbers = [Int]()
var randomConv = 0
func randomize() {
lblRandom.text = "\(arc4random_uniform(12) + 1)"
randomConv = Int(lblRandom.text!)!
}
@IBAction func btnRandomPressed(sender: AnyObject) {
randomize()
if usedNumbers.contains(randomConv) {
randomize()
} else {
usedNumbers.append(randomConv)
}
if usedNumbers.count == 12 {
btnRandom.hidden = true
}
}
А вот код с моей игровой площадки.
var lblRandom = "\(arc4random_uniform(12) + 1)"
var randomConv = 0
var usedNumbers = [Int]()
func randomize() {
lblRandom = "\(arc4random_uniform(12) + 1)"
randomConv = Int(lblRandom)!
}
repeat {
randomize()
if usedNumbers.contains(randomConv) {
randomize()
} else {
usedNumbers.append(randomConv)
print(lblRandom)
}
} while usedNumbers.count < 12