Swift 如何为堆栈中的多个标签创建函数?

Swift 如何为堆栈中的多个标签创建函数?,swift,uilabel,xcode9,Swift,Uilabel,Xcode9,我有3个标签,我想为每个标签生成随机数。我在函数中使用源类,没关系。问题是,如果我想有更多的标签,如.30和所有相同的行动,我需要引用所有的标签一个接一个到iAction,我需要说明所有的标签一个接一个在func代码…我一直在寻找一个较短的方式,可能把他们都放在3堆栈10标签为每个堆栈和触发器,但我没有得到任何东西。我尝试了我们在UIButtons中使用的outlet集合,但它不允许我更改标签文本 如何在不重复的情况下对多个标签使用函数 榜样 let allNumbers = [Int](1..

我有3个标签,我想为每个标签生成随机数。我在函数中使用源类,没关系。问题是,如果我想有更多的标签,如.30和所有相同的行动,我需要引用所有的标签一个接一个到iAction,我需要说明所有的标签一个接一个在func代码…我一直在寻找一个较短的方式,可能把他们都放在3堆栈10标签为每个堆栈和触发器,但我没有得到任何东西。我尝试了我们在UIButtons中使用的outlet集合,但它不允许我更改标签文本

如何在不重复的情况下对多个标签使用函数

榜样

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])
}

您可以创建UILabel的数组,并将所有插座放在同一个数组中,然后可以使用for loop对每个插座执行操作

例如:

  @IBOutlet var formLabels: [UILabel]!
并且可以做如下工作:

  formLabels.forEach { label in
  label.text = ""//put your random number function here
}
看到它的工作后,添加两个插座我也显示了在故事板的连接连接存在


当我尝试在阵列中放置插座时,之前的连接会断开。也许我做错了什么?你在做什么,首先你需要在你的viewController中键入那条线,然后将插座连接到它。我用同样的方法,我可以连接第一个插座,当我连接第二个插座时,我意识到第一个连接dissapear@sanjaykmwtI也用同样但错误的方法:谢谢你的GIF,谢谢你的帮助。hgd@sanjaykmwtI希望这对兄弟有帮助