在数组内部的数组中使用标签的值并创建forEach

时间:2019-10-21 18:00:04

标签: swift list foreach swiftui

我有一个类似计划的JSON

SELECT 
name, 
CAST(SUBSTRING_INDEX(GROUP_CONCAT(CAST(value AS CHAR) ORDER BY TIMESTAMP ASC), ',', 1) AS DECIMAL(10, 6)) AS open, 
MIN(value) AS low, 
MAX(value) AS high
FROM mytable
GROUP BY name 
ORDER BY name ASC

我的模型是:

[
{
    "id": "registration",
    "title": "auto",
    "info": "under update",
    "brand": "TESLA",
    "model": "MODEL X",
    "make_year": 2017,
    "properties": [
        {
                "id": 1,
                "icon": "ic_rgb",
                "label": "color",
                "value": "red"
            },
            {
                "id": 2,
                "icon": "ic_car",
                "label": "tipe",
                "value": "car"
            },
            {   "id": 3,
                "icon": "ic_fuel",
                "label": "fuel",
                "value": "-"
            },

            ...

        ],
    },
{
    "id": "firstRegistration",
    "title": "auto",
    "info": "under update",
    "brand": "TESLA",
    "model": "MODEL X",
    "make_year": 2017
},
{
    "id": "secondRegistration",
    "title": "auto",
    "info": "under update",
    "brand": "TESLA",
    "model": "MODEL X",
    "make_year": 2017,
}
]

这就是我在做的http://joxi.ru/Q2KLXvYHLDz9aA

我使用ScrollView(Axis.Set.horizo​​ntal)和forEach元素 但不能通过data.properties.count

循环元素

我已经解析了JSON,但无法按计数循环元素。

您能帮我举个例子吗?

我如何尝试


var data2:Unicards.HPropert

...
    struct Unicards: Hashable, Codable, Identifiable {
    var id: String
    var title: String?
    var info: String?
    var brand: String?
    var model: String?
    var make_year: Int?
    var messege: String?
    var messege_color: String?
    var price: String?
    var price_currency: String?
    var price_tooltip: String?


    var properties: [HPropert]?
    struct HPropert: Hashable, Codable, Identifiable {

        var id: Int
        var icon: String?
        var label: String?
        var value: String?

    }
    }

1 个答案:

答案 0 :(得分:0)

已解决

第一步是

var data2: Unicards  (your main data)

步骤2 体内的新常数

 var body: some View {
let arrayWhatYouNeed = data2.propertie 

别忘了返回您的视图

return  HStack {
...

现在您有了

返回HStack {

        ForEach(arrayWhatYouNeed) { item in 
            VStack {

                            Image(image)
                                .resizable()
                                .scaledToFit()
                                .frame(width: 34, height: 34)


                            VStack {

                                Text(item.lable)
                                    .font(.system(size: 14))
                                    .fontWeight(.medium)
                                Text(item.value)
                                    .font(.system(size: 14))
                            }


            }
        }
}
相关问题