我下面的代码试图将上述数组中声明的所有图片添加到每条语句的中。我试图做pic [0-14],它声明致命错误索引的编译错误超出范围。我不知道为什么会这样。我可以想象我必须要做pic [0],pic [1],pic [2]等。
let pic = (0..<15).map { _ in UIImageView() }
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
[pic[0-14]].forEach({
$0.isUserInteractionEnabled = true
self.view.addSubview($0)
})}
0-14
== -14
。您正在执行[pic[-14]]
,并且-14
超出范围。只需pic.forEach
...
pic[0-14]
正在尝试执行pic[-14]
,这超出范围。您应该这样做:
pic[0...14].forEach({
$0.isUserInteractionEnabled = true
self.view.addSubview($0)
})
尽管,我看不出您要使用子范围的原因,所以您可以这样做:
pic.forEach({
$0.isUserInteractionEnabled = true
self.view.addSubview($0)
})
或
for p in pic {
p.isUserInteractionEnabled = true
self.view.addSubview(p)
}