将多个UILabel放入数组中

时间:2018-10-08 01:29:41

标签: ios swift iboutlet

在我的应用中,我的故事板上目前有9个标签,每个标签显示不同的值。 (这些值存储在数组中)。据我所知,每个标签都必须从情节提要板单独连接到viewcontroller文件,这使我的代码看起来像这样:

@IBOutlet weak var xValue: UILabel!
@IBOutlet weak var yValue: UILabel!
@IBOutlet weak var zValue: UILabel!

@IBOutlet weak var maxXValue: UILabel!
@IBOutlet weak var maxYValue: UILabel!
@IBOutlet weak var maxZValue: UILabel!

@IBOutlet weak var minXValue: UILabel!
@IBOutlet weak var minYValue: UILabel!
@IBOutlet weak var minZValue: UILabel!

要设置值,我需要手动执行:

xValue.text = arr[0]
yValue.text = arr[1]
...
minYValue = arr[7]
minZValue = arr[8]

是否可以将故事板上的多个标签连接到数组中,这样我就可以简单地执行以下操作:

for i in 0...8 {
    labelArray[i] = arr[i]
}

2 个答案:

答案 0 :(得分:3)

正如rmaddy在评论中提到的,您可以使用奥特莱斯集合:

@IBOutlet private var labels: [UILabel]!

然后,当右键单击labels时,故事板Outlet Collections中的内容将显示在ViewController下,并且您可以链接多个标签:

enter image description here

答案 1 :(得分:0)

您可以将所有UILabel放入一个数组中,如下所示:

let labelArray = [xValue, yValue, zValue]
for i in 0..<labelArray.count-1{
    labelArray[i] = arr[i]
}