Мой код немного сложнее, чем этот, поэтому я создал пример с той же ошибкой.
Когда я перемещаюсь в представление, у меня есть функция, которую я хочу выполнить с помощью переменной, переданной в это представление. Затем эта функция создает массив. Затем я хочу поместить этот массив в список, но получаю ошибку.
Как мне получить список для отображения созданного массива?
Я думаю, что проблема в том, что список не может быть обновлен, поскольку в нем уже есть объявленный пустой массив.
import SwiftUI
struct ContentView : View {
@State var array = [String]()
var body: some View {
List(array.identified(by: \.self)) { item in
Text("\(item)")
}
.onAppear(perform: createArrayItems)
}
func createArrayItems() {
array = ["item1", "item2", "item3", "item4", "item5"]
}
}