iOS编程:使用do while循环使arc4_random不重复自身

时间:2014-10-05 16:20:23

标签: ios swift arc4random

在此代码中,第二行通过数组并输出它接收的内容及其随机数。但有时我会两次得到同样的东西,就像它会说" Straub",然后" Straub"然后其他东西像" Rusher"。我试图做一个"做while while循环"但我不知道如何在不重复的地方进行设置。顺便说一句,这是一种快速的编程语言。

let types = ["Alex", "Straub", "Rusher", "Graser"]

let type = types[Int(arc4random_uniform(UInt32(types.count)))]

println(type)

如果您有任何疑问,请在评论部分发布

1 个答案:

答案 0 :(得分:1)

这可以避免直接重复:

var lastIndex = -1
var index = -1

let types = ["Alex", "Straub", "Rusher", "Graser"]

do {
    index = Int(arc4random_uniform(UInt32(types.count)))
} while index == lastIndex

println(types[index])
lastIndex = index