Swift 4:使用 for 循环以编程方式将 UIView 添加到数组中
Swift 4 : Adding UIView into the array programmatically with for loop
我正在使用 scrollView
分页,我想使用 for 循环以编程方式将 UIView
添加到 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]?
如何正确初始化它?我应该在函数上初始化它吗?
for i in 0...datas.count
将循环到最后一个插槽数组+1,然后它会大喊错误,因为在该索引处没有值,您应该使用 for i in 0..<datas.count
或 for slide in datas
代替
确保 datas
已初始化。
使用 for-loop 如下:
for text in datas {
// DO SOMETHING
}
而且我希望,您在代码中的某个地方对 uiscrollview 的视图进行了子视图,并且在上面的问题中没有提到它?
代替这一行:
var slideAll:[Slide]?
这样说:
var slideAll = [Slide]()
然后从您对其余代码中 slideAll
的引用中删除可选解包符号。
我正在使用 scrollView
分页,我想使用 for 循环以编程方式将 UIView
添加到 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]?
如何正确初始化它?我应该在函数上初始化它吗?
for i in 0...datas.count
将循环到最后一个插槽数组+1,然后它会大喊错误,因为在该索引处没有值,您应该使用 for i in 0..<datas.count
或 for slide in datas
代替
确保 datas
已初始化。
使用 for-loop 如下:
for text in datas {
// DO SOMETHING
}
而且我希望,您在代码中的某个地方对 uiscrollview 的视图进行了子视图,并且在上面的问题中没有提到它?
代替这一行:
var slideAll:[Slide]?
这样说:
var slideAll = [Slide]()
然后从您对其余代码中 slideAll
的引用中删除可选解包符号。