我有3个标签,我想为每个标签生成随机数。我在函数中使用GKRandomSource类,没关系。问题是,如果我想拥有更多标签(即30)并且所有标签都具有相同的动作,我需要逐个引用所有标签到IBAction,我需要在func代码中逐个声明所有标签......我一直在寻找一个更短的方式,也许把它们全部放在3个堆栈(每个堆栈10个标签)和触发器,但我什么也没得到。我尝试了出口集合(我们在UIButtons中使用),但它不允许我更改标签文本。
如何在没有重复的情况下为多个标签使用函数?
实施例
let allNumbers = [Int](1...99)
var shuffledNum = [Int]()
@IBOutlet weak var labelOne: UILabel!
@IBOutlet weak var labelTwo: UILabel!
@IBOutlet weak var labelThree: UILabel!
func generateNumbers() {
shuffledNum = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: allNumbers) as! [Int]
let threeNumbers = shuffledNum.prefix(3).sorted()
labelOne.text = String(threeNumbers[0])
labelTwo.text = String(threeNumbers[1])
labelThree.text = String(threeNumbers[2])
}