我的代码比这个复杂一些,因此我创建了一个示例,可以得到相同的错误。
当我进入一个视图时,我想执行一个函数,并将一个变量传递到该视图中。该函数然后生成一个数组。然后,我想将该数组放入一个List中,但是我会遇到错误。
我该如何让List显示出生成的数组?
我认为问题在于List不能更新,因为它已经声明了一个空白数组。
struct ContentView : View {
@State var array = [String]()
var body: some View {
List(self.array,id: \.self) { item in
Text("\(item)")
}
.onAppear(perform: createArrayItems)
}
func createArrayItems() {
array = ["item1", "item2", "item3", "item4", "item5"]
}
}