Convertir une struct comportant un dictionnaire en 2 dim, en une classe Core Data?

wahib1976wahib1976 Membre
novembre 2020 modifié dans API AppKit #1

J'ai une structure:

struct Personne {
    let uuid = UUID().uuidString
    var nom: String = ""
    var prenom: String = ""
    var age: Int = 18
    var email: String = ""
    var motDePass: String = ""
    var genre: Genre = .Femme
   enum Genre {
    case Homme, Femme, Autre}

  var historique: [Date: [[AlimentObject]]] = [Date(): [[], [], [], [], [], []]]

   //etc ...
}

et une structure AlimentObject:

struct AlimentObject : Equatable {
        var nomAliment = ""
        var uuid = UUID().uuidString
        var poids : Float = 100
        var calories : Float = 0
        var proteines : Float = 0
        var lipides : Float = 0
        var glucides : Float = 0
}

J'ai besoin de tout convertire en Core Data

J'ai déjà crée une NSManagedObject object de la classs nommée AlimentObject, et une autre de la classe Personne. Les structure originelles seront effacée, et les NSManagedObject prendront leurs places.

La question est: comment integré la variable "historique" dans le xcdatamodeld ?
Merci par avance pour toute aide.

Réponses

  • Bonjour,

    Ma suggestion: rajouter une structure CoreData (par exemple "Consommations"), qui aura une seule variable "date de consommation" et deux liens:

    • un lien avec la structure "Personne" (une Personne peut avoir plusieurs "Consommations" avec des dates similaires ou différentes)
    • un lien avec la structure "nomAliment" (une "Consommation" correspond à un "Aliment")

    Si la personne consomme plusieurs aliments le même jour, tu crées plusieurs "Consommations".

    Cordialement
    Nicolas

  • Joanna CarterJoanna Carter Membre, Modérateur
    novembre 2020 modifié #3

    La question est: comment integré la variable "historique" dans le xcdatamodeld ?

    Tu dois créer un modèle des données comme-ci


    1. la Personne est liée avec une ou plusieurs Alimentations
    2. l'AlimentObject est lié avec une ou plusieurs Alimentations
    3. l'Alimentation est liée avec une Personne et un AlimentObject

Connectez-vous ou Inscrivez-vous pour répondre.