Swift 4:使用 for 循环以编程方式将 UIView 添加到数组中

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

我正在使用

scrollView
分页,我想使用 for 循环以编程方式将
UIView
s 添加到
scrollView
中。但我想我错过了一些东西。

这是我的代码:

func createSlide() ->[Slide]{
    for i in 0..<datas.count{
        slideAll?.append(Bundle.main.loadNibNamed("ViewTest", owner: self, options: nil)?.first as! Slide)

        slideAll![i].testLabel.text = datas[i]
    }

    return slideAll!

}

我可以这样添加

UIView
吗?如果可以,我该如何修复这段代码?

编辑:

我意识到我初始化 slideAll 时顶部没有任何值:

var slideAll:[Slide]?

如何正确初始化它?我应该在函数上初始化它吗?

ios swift uiview swift4
3个回答
4
投票

for i in 0...datas.count
将循环到最后一个插槽数组+1,然后它会大喊错误,因为在该索引处没有值,您应该使用
for i in 0..<datas.count
for slide in datas
代替


1
投票

代替这一行:

var slideAll:[Slide]?

这样说:

var slideAll = [Slide]()

然后从您对其余代码中

slideAll
的引用中删除可选的解包符号。


1
投票

确保

datas
已初始化。

使用for循环如下:

for text in datas {
// DO SOMETHING
}

我希望,您在代码中的某处对 uiscrollview 的视图进行了子视图,并且上面的问题中没有提到它?

© www.soinside.com 2019 - 2024. All rights reserved.