Я пытаюсь построить простой List
с помощью SwiftUI
.Однако я не могу динамически создавать строки, используя массив данных.Это сообщение об ошибке: Cannot convert value of type '(Setlist) -> SetlistRow' to expected argument type '(_) -> _'
Я пробовал по крайней мере следующие синтаксисы, но всегда получаю одну и ту же ошибку.
List(setlists) { }
List(setlists, rowContent: Setlist.init)
ForEach(self.setlists) { setlist in }
Вот мой код:
struct Setlist {
var name: String = "New setlist"
var sets = [SongSet]()
}
struct SetlistManagerView : View {
private var setlists: [Setlist] {
// creates an array of dummy items
}
var body : some View {
List {
ForEach(setlists) {
SetlistRow(setlist: $0)
}
}
}
}
struct SetlistRow : View {
var setlist: Setlist
var body : some View {
let numberOfSongs = setlist.sets.map { $0.songs.count }.reduce(0, +)
return NavigationView {
NavigationButton (destination: SetListView(setlist: setlist)) {
// code for displaying the row
}
}
}
}