Сетка данных с JSON файла - PullRequest
0 голосов
/ 25 января 2020

В SwiftUI я хочу создать сетку данных, начиная с JSON файла, но я не знаю, как это сделать. Это мой JSON Файл:

[
    {
        "id": 1,
        "name": "La Louve",
        "imageName": "lalouve1",
        "grade": "Admin",
        "description": "Texte de présentation"
    },
    {
        "id": 2,
        "name": "Will",
        "imageName": "will",
        "grade": "Admin",
        "description": "Texte de présentation"
    },
    {
        "id": 3,
        "name": "Cassou",
        "imageName": "cassou",
        "grade": "Admin",
        "description": "Texte de présentation"
    },
    {
        "id": 4,
        "name": "Dydou",
        "imageName": "dydou",
        "grade": "Co-Admin",
        "description": "Texte de présentation"
    },
    {
        "id": 5,
        "name": "Max",
        "imageName": "max",
        "grade": "Co-Admin",
        "description": "Texte de présentation"
    }
]

Это структура для членов:

struct Membre: Hashable, Codable, Identifiable {
    var id: Int
    var name: String
    var imageName: String
    var grade: Grade
    var description: String
}

extension Membre {
    var image: Image {
        ImageStore.shared.image(name: imageName)
    }
}

enum Grade : String, Codable {
    case admin = "Admin"
    case coAdmin = "Co-Admin"
    case responsableStaff = "Responsable Staff"
    case membreStaff = "Membre Staff"
    case membrePlus = "Membre +"
    case membre = "Membre"
}

extension Grade {
    static let allItems: [Grade] = [.admin, .coAdmin, .responsableStaff, .membreStaff, .membrePlus, .membre]
}

У меня есть файл для получения данных из файла JSON и взамен я есть массив членов. Этот файл в порядке.

Теперь я хочу сделать сетку из этих членов в представлении с этим VStack:

VStack {
                            membreData[index].image
                                .resizable()
                                .frame(width: 100, height: 100)
                            Text(membreData[index].name)
                        }

Можете ли вы помочь мне, пожалуйста? ;)

...