Que voulez-vous dire par « objet principal »? C'est juste un graphique d'entités et d'objets. Dans ce cas, vous devez probablement avoir une entité pour chaque table (au singulier: Class, Session, Schedule), avec des propriétés pour les données réelles et des relations pour les clés étrangères.
Vous ne pouvez pas spécifier manuellement la clé primaire, CoreData le fait (c'est un détail d'implémentation).
Vous auriez probablement quelque chose comme ceci:
Classe
- nom (string)
- Description (string)
des horaires
- (à-plusieurs à l'annexe)
Session
- nom (string)
- début (date)
- fin (date)
horaires
- (à-plusieurs à l'annexe)
Horaire
- nom (string Début
- début (date)
- fin (dat e)
- classe ((inverse) relation à la classe)
- session ((arrière), relation avec la session)
Je peux recommander propre documentation d'Apple sur CoreData, en particulier les sections sur les outils de modélisation des données en Xcode. Il est possible de dessiner essentiellement vos modèles de données à l'aide de Xcode et de générer automatiquement les déclarations de classe (facultatives) pour vous.
"Vous ne pouvez pas spécifier manuellement la clé primaire, CoreData fait cela (c'est un détail d'implémentation)" Apple supprime la possibilité de 'clés Id Idiot et oblige le développeur à penser en termes de clé naturelle! J'aime ça ! – PerformanceDBA