将多个 UILabel 放入一个数组中

Put multiple UILabels into an array

在我的应用程序中,目前我的故事板上有 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]
}

正如 rmaddy 在评论中提到的,您可以使用出口集合:

@IBOutlet private var labels: [UILabel]!

然后在你的故事板中 labels 将显示在 Outlet Collections 下,当右键单击你的 ViewController 时,你可以 link 多个标签:

你可以把所有的UILabel放到一个数组中,像这样:

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