我是Swift和SwiftUI的初学者。
我在PeopleModel.swift文件中设置示例数据模型,这是该代码:
import Foundation
struct People {
var name : String
static let demoPeople = [
People(name:"Stephen"),
People(name:"John"),
People(name:"Jack")]
}
要使用数据模型,我想我会尝试使用以下代码遍历列表:
import SwiftUI
struct ListPersonView: View {
let testData = People.demoPeople
var body: some View {
VStack {
ForEach((0...testData.count), id: \.self) {result in
Text( self.testData[result].name)
}
Text("Ready or not, here I come!")
}
}//View
}//struct
struct ListPersonView_Previews: PreviewProvider {
static var previews: some View {
ListPersonView()
}
}
运行预览器时,程序崩溃。我必须错过一些简单的事情,但会欣赏一个我做错了的想法。谢谢!
答案 0 :(得分:0)
ForEach
循环中的范围是开放的,因此,当self.testData[result].name
等于{{1}的长度时,尝试访问result
时将获得超出范围的异常}。
将范围更改为testData
应该可以解决您的问题。