SwiftUI使用List和Foreach遍历字典中的键并创建列表视图

问题描述

我想遍历categories字典中的键,并基于键创建一个行视图列表。谁能看下面我的代码,找出问题出在哪里?我不确定要在ForEach循环以及列表中将哪些内容作为参数输入。谢谢!

struct HomeView: View {
  
    var categories :  [String : [Drummer]] {
        .init(
            grouping: drummerData,by: {$0.category.rawValue}
        )
    }
    
    var body: some View {
        ScrollView(.vertical) {
            List {
                ForEach(categories.keys.sorted(),id: \.self) {key in
                    DrummerRow(categoryName: "\(key)",drummers: self.categories[key]!)
                }
            }
        }
    }
}

解决方法

SwiftUI中的列表等效于UITableView,因此已经嵌入了ScrollView。将其删除,您的视图应正确呈现