Je cherche un peu d'aide avec CoreData et avec les entités en général. Pour les fins de ma question, disons que j'ai une base de données d'albums. J'ai simplement une entité nommée albums avec des attributs pour le nom, l'artiste, l'année, l'art d'album, et ainsi de suite. Maintenant, disons que je veux être capable de créer des chansons pour cet album. Je pense que je devrais avoir une entité distincte pour les chansons, et avoir une relation un-à-plusieurs avec elle. Cependant, je ne suis pas sûr exactement comment je ferais cela. Puisque j'ai différents albums qui contiennent des chansons différentes, je veux séparer les chansons de AlbumA de Album B. Maintenant, je pourrais avoir une rangée dans la base de données de chansons pour quel album il appartient, mais est-ce le plus efficace façon de le faire. Que faire si j'ai un nom d'album en double. J'ai essayé de créer un "hash" unique du nom de l'album en utilisant le temps créé et le nom, mais y a-t-il un meilleur moyen.programmation CoreData avec plusieurs entités
J'ai également besoin d'un meilleur moyen de gérer la suppression pour quand un album est supprimé. Sans les relations un-à-plusieurs, j'ai pu créer deux entités distinctes, Albums et Chansons, qui ne sont pas liées entre elles. Cependant, quand je crée un nouvel album, il charge un nouveau viewcontroller et passe le nom de l'album horodaté "hashes" au viewcontroller. Ensuite, lorsque je crée une nouvelle chanson, elle utilise ce nom d'album horodaté comme une ligne dans l'entité Songs. De cette façon, quand je regarde quelles chansons sont dans l'album, je place juste un NSPredicate pour montrer seulement les requêtes qui incluent l'horodatage des hachages. Cependant, la suppression est un problème car il n'y a pas de relations.
- Dois-je utiliser une «relation un-à-plusieurs»?
- Comment dois-je gérer déterminer si une chanson appartient à un album?
- si leur sont plusieurs albums avec le même nom?
- Comment gérer la suppression?
Si quelqu'un pouvait fournir des réponses, du code, ou un tutoriel pour l'un de ces ... il serait grandement apprécié.
Merci beaucoup pour votre réponse. Si j'utilisais une relation To-Many, comment accéderais-je directement aux morceaux de mon album? Existe-t-il une méthode ou un moyen d'utiliser cette relation pour obtenir et définir des données dans l'entité Entity. – Sonny
La relation est une propriété de l'entité - vous pouvez la traiter comme n'importe quelle autre propriété. Vous pouvez obtenir/définir via un NSSet d'objets gérés. Ce guide d'Apple peut vous aider: http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/CoreData/Articles/cdRelationships.html%23//apple_ref/doc/uid/TP40001857-CJBDBHCB – lxt