我正在使用scrollView
分页,我希望以编程方式将UIView
添加到scrollView
for for循环中。但我想我错过了一些东西。
这是我的代码:
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]?
如何正确初始化?我应该在函数上初始化吗?
答案 0 :(得分:4)
for i in 0...datas.count
将循环到最后一个插槽数组+ 1,然后它会大喊错误,因为在该索引处没有值,您应该使用for i in 0..<datas.count
或for slide in datas
代替
答案 1 :(得分:1)
确保初始化datas
。
使用for循环如下:
for text in datas {
// DO SOMETHING
}
我希望,您在代码中的某处对uiscrollview的观点进行了分析,并且在上述问题中没有提到它?
答案 2 :(得分:1)
而不是这一行:
var slideAll:[Slide]?
这样说:
var slideAll = [Slide]()
然后从代码的其余部分中对slideAll
的引用中删除可选的展开符号。