快速将var声明为一个组

问题描述 投票:0回答:1

我想这样声明一组相同的对象。

var dave, paul, sam = UILabel()

我尝试过各种方法。但是除了标准之外,我无法做任何其他声明var的操作。

var dave = UILabel()
var paul = UILabel()
var sam = UILabel()

我认为必须以某种方式将其放入数组以加快处理过程。

arrays swift initialization declaration var
1个回答
0
投票

除了使用命名变量,您还可以创建标签数组:

let labels = (0..<3).map { _ in UILabel() }

或者您最好在创建它们时对其进行配置:

let labels = (0..<3).map { _ -> UILabel in 
    let label = UILabel()
    label.translatesAutoresizingMaskIntoConstraints = false
    return label
}

您可以在该关闭中对它们进行任何其他配置。

现在您可以使用它们。例如,您可以将它们添加到已经具有垂直堆栈视图的视图中(这使您不必手动为每个标签添加约束),例如:

func viewDidLoad() {
    super.viewDidLoad()

    for label in labels {
        stackView.addArrangedSubview(label)
    }
}

如果要设置这些标签的文本:

labels[0].text = "Dave"
labels[1].text = "Paul"
labels[2].text = "Sam"
© www.soinside.com 2019 - 2024. All rights reserved.