UIView 数组

Sar*_*ens 4 cocoa-touch uikit ios swift

有没有办法创建一个 UIViews 数组?

我试过 bot 我无法添加值

var views = [UIView?](count: 64, repeatedValue: nil)
Run Code Online (Sandbox Code Playgroud)

这导致零

views[0]?.backgroundColor = UIColor.redColor()
Run Code Online (Sandbox Code Playgroud)

我也试过

var views = NSMutableArray()
for (var a = 0; a<100; a++){
        views[a] = UIView()
}
views[0].backgroundColor = UIColor.redColor() // fails
Run Code Online (Sandbox Code Playgroud)

Ant*_*nio 5

在这一行:

var views = [UIView?](count: 64, repeatedValue: nil)
Run Code Online (Sandbox Code Playgroud)

您正在创建一个可选数组,填充nil- 这就是您使用repeatedValue参数设置的内容。正确的方法是:

var views = [UIView](count: 64, repeatedValue: UIView())
Run Code Online (Sandbox Code Playgroud)

但是请注意,它UIView仅创建一个实例,并将其分配给所有 64 个元素。另外,除非有特定原因,否则我认为您不需要一系列选项,因此应该考虑使用[UIView]

也就是说,如果你想要一个唯一实例的数组,你可以使用以下代码:

var views = [UIView]()
for _ in 1...100 {
    views.append(UIView())
}
Run Code Online (Sandbox Code Playgroud)