Aller plus loin avec CoreData (Relationships)

Bonjour tout le monde,

J’ai suivi le cours sur le dev iOS et notamment toute la partie CoreData, je souhaiterais notamment aller plus loin et utiliser des relations entre deux entités.
Cependant je bloque un peu…

Mon erreur est probablement lié au fait que j’utilise habituellement uniquement du SQL (avec du php) et cela me fausse peut être la représentation que j’ai de ces relations.

Exemple :
Entité -> CDCourse
Attribut -> id: UUID, nomCourse : String

Entité -> CDResultats
Attribut -> id: UUID, score : Int

Je souhaite avoir une relation avec le nom du groupe.
Un groupe est inscrit dans une course
Ce groupe peut obtenir des résultats

Dans mon fichier CoreDataStorage.swift
Quand j’initialise, j’ai une erreur qui me dit « Cannot assign value of type ‹ CDResultats › to type ‹ String › » en face de : self.nomGroupe = nomGr
Ce qui me semble normal car nomGroupe n’est pas un attribut.
1- mais comment le déclarer ?
2- Les relationships sont elles considérées comme des attributs ?

extension Resultats {
    init?(fromCoreDataObject coreDataObject:CDResultats){
        guard let id = coreDataObject.id,
              let Sc = coreDataObject.score,
              let nomGr = coreDataObject.nomGroupe
        else{
            return nil
        }
        self.id = id
        self.score = Sc
        self.nomGroupe = nomGr
    }
}

Merci pour votre aide.

Bonjour @Clemp,
Je vois que ton post n’a pas eu de réponse. C’est dommage car je suis confronté au même problème que toi.
Si entre temps tu as pu trouver la solution à ton problème, n’hésite pas à la partager.
Merci.

Bonjour,
Non je n’ai pas trouvé d’informations complémentaires.
Du coup j’ai retiré toutes les relationship de mon application et je les ai remplacées par des Attributes.

J’ai créé mes relations en appelant les attributes de la même manière dans mes différentes entity…
Systeme D…

Merci @Clemp pour ta réponse.
Je vais continuer mes recherches et si je trouve la solution, je la posterai. Cela pourra peut-être t’aider dans un futur projet.
Bonne continuation

1 « J'aime »

Bonjour,
J’ai utilisé les relationships dans une application. Au final nous avons bien l’équivalent des attributes.
Les relations de 1 à plusieurs sont de type: NSSet? sinon du type de la table pointée.
J’ai utilisé l’option Category/Extension pour l’information Codegen de la partie Class des Entities.
Cela permet à Xcode de générer automatiquement une extension de classe (fichier non visible) de l’entity contenant les propriétés et méthodes à utiliser.