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

Posted

技术标签:

【中文标题】SwiftUI 使用 List 和 Foreach 遍历字典中的键并创建列表视图【英文标题】:SwiftUI Using List and Foreach to iterate through keys in a dictionary and create a list view 【发布时间】:2020-09-02 19:04:11 【问题描述】:

我想遍历我的 categories 字典中的键并根据键创建行视图列表。任何人都可以看看我下面的代码并发现它有什么问题吗?我不确定在 ForEach 循环和 List 中将什么作为参数放入。谢谢!

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]!)
                
            
        
    

【问题讨论】:

根据野孩子的回答问题解决了。感谢您的提问! 【参考方案1】:

SwiftUI 中的 List 相当于 UITableView,因此已经嵌入了一个 ScrollView。删除它,您的视图应该会正确呈现

【讨论】:

哇,它有效!谢谢您的帮助!我忘了 List 已经可以滚动了 很高兴它有帮助。将此问题标记为已回答,如果您 +1 我,我们将不胜感激。

以上是关于SwiftUI 使用 List 和 Foreach 遍历字典中的键并创建列表视图的主要内容,如果未能解决你的问题,请参考以下文章

List 中的 ForEach 出现 SwiftUI 错误:无法使用类型为 '(@escaping () ... 的参数列表调用类型为 'List' 的初始化程序...(参见代码)

SwiftUI:当 List 和 ForEach 嵌入 TabView 时 WatchOS 8.1 中的 NavigationView 错误

SwiftUI list 移动和选择行

使用 SwiftUI List()、ForEach()、.onTapGesture WatchOS6 传递值的问题

SwiftUI List 和 For Each 循环与空白元素

SwiftUI:List/ForEach 中的滑块行为异常