gpt4 book ai didi

SwiftUI:ViewBuilder 无法创建基于数组的 View 集合

转载 作者:行者123 更新时间:2023-11-28 05:41:24 25 4
gpt4 key购买 nike

我正在尝试使用 SwiftUI 构建一个简单的 List。但是,我无法使用数据数组动态创建行。这是错误消息:Cannot convert value of type '(Setlist) -> SetlistRow' to expected argument type '(_) -> _'

我至少尝试过以下语法,但我总是得到同样的错误。

  • 列表(设置列表){ }
  • 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
}
}
}
}

最佳答案

列表项需要符合Identifiable 协议(protocol),以便在没有identified(by:) 参数的情况下将它们用作集合数据源。

此处的 Xcode 错误消息具有误导性,因为该软件仍处于测试阶段。

关于SwiftUI:ViewBuilder 无法创建基于数组的 View 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56601586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com