如何为每个语句向添加一个对象数组

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

我下面的代码试图将上述数组中声明的所有图片添加到每条语句的中。我试图做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)
           })}
ios swift for-loop viewdidload
1个回答
1
投票

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)
}
© www.soinside.com 2019 - 2024. All rights reserved.