在我的应用程序中,我使用这样的东西在我的标签上随机获取文本,除了在我的主要let randomNumber代码中,在xCode中,它有超过300种情况,可以粘贴在这里。
let randomNumber = Int(arc4random_uniform(23))
var textLabel = "" as NSString
switch (randomNumber){
case 1:
textLabel = "Kim."
break
case 2:
textLabel = "Phil."
break
case 3:
textLabel = "Tom"
break
case 4:
textLabel = "Jeff"
break
default:
textLabel = "Austin"
}
self.randomLabel.text = textLabel as String但问题是,有时它会在标签上显示相同的文字5-6次,而其他情况甚至还没有使用,因为它是随机选择的。因此,我如何随机选择,但如果案例示例1已经显示,它将不会再次出现,直到所有其他案例已经显示。
发布于 2015-12-25 20:06:31
有一个名称数组,而不是一个巨大的开关大小写:
var names = ["Kim.", "Phil.", "Tom", "Jeff", "Austin"] // and all your remaining names
let originalNames = names
func getRandomName() -> String {
if (names.count == 0) {
names = originalNames
}
let randomNumber = Int(arc4random_uniform(UInt32(names.count)))
return names.removeAtIndex(randomNumber)
}这将确保每个名称在从头开始之前都会被打印出来。样本输出如下:
汤姆,金,奥斯汀,菲尔,杰夫
然后它又开始了
奥斯汀杰夫菲尔。..。
最后,将以下内容放在适合您需要的地方:
self.randomLabel.text = getRandomName()https://stackoverflow.com/questions/34465960
复制相似问题