【问题标题】:SwiftUI Nested Array Struct and displaying in ListSwiftUI 嵌套数组结构并在列表中显示
【发布时间】:2022-01-17 01:19:33
【问题描述】:

我正在尝试显示嵌套数组/结构中的值。这是我的结构定义:

import Foundation

// MARK: - Station
struct Station:Codable, Identifiable  {
    let id, latitude, longitude, cp: String
    let pop, adresse, ville: String
    let prix: [Prix]
    
    // MARK: - Prix
    struct Prix: Codable, Identifiable{
        let nom, id, maj, valeur: String
        
    }
}

这是我的代码,只是为了证明数据在那里并且可以正常工作。

List {
                    
                    VStack(alignment: .leading) {
                        
                            ForEach (data) { item in
                            Text("id: \(item.id)")
                            Text("lon: \(item.longitude)")
                            Text("lat: \(item.latitude)")
                            
                            Text("\(item.prix[0].nom): \(item.prix[0].valeur)")
                            Text("\(item.prix[1].nom): \(item.prix[1].valeur)")
                            Text("\(item.prix[2].nom): \(item.prix[2].valeur)")
                            Text("\(item.prix[3].nom): \(item.prix[3].valeur)")
                        }
                    }
                }
 

我想使用 ForEach 来显示 [Prix] 数组中的数据,因为项目的数量是可变的。

我尝试了很多 ForEach 与 Id 的组合,但没有但无法使其工作。

谢谢

【问题讨论】:

  • 您是否尝试过第二次ForEach Prix

标签: arrays multidimensional-array foreach swiftui


【解决方案1】:

尝试使用嵌套的ForEach

对于data 中的每个Station,都有一个Prix 数组。您应该使用ForEach 来迭代item.prix,这样您就不会出现索引超出范围异常(它将为item.prix 中的每个Prix 创建视图)

List {
                    
//VStack(alignment: .leading) {                    
    ForEach (data) { item in
             Text("id: \(item.id)")
             Text("lon: \(item.longitude)")
             Text("lat: \(item.latitude)")
             ForEach (item.prix) { prix in 
                 Text("\(prix.nom): \(prix.valeur)")
             }
    }
//}
}

【讨论】:

    猜你喜欢
    • 2021-03-13
    • 2019-10-04
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2015-08-14
    相关资源
    最近更新 更多