2010-01-02 3 views
1

J'ai une entité de données de base qui a une relation un à plusieurs exclusive avec une autre entité. Cette relation est censée être un confinement de base la première entité contient un ou plusieurs des seconds. Une instance de la seconde entité ne peut être contenue que dans l'une des premières entités. Je souhaite pouvoir supprimer toutes les entités contenues de la première entité, puis les supprimer. Comment dois-je faire cela? Dois-je supprimer la relation, puis appeler deleteObject pour chaque entité ou appelez deleteIObject pour chaque entité contenue, pour que la relation soit correctement définie. Si le second est vrai, puis-je énumérer les entités contenues et appeler deleteObject ou devrais-je d'abord faire une copie de l'ensemble (si l'appel à deleteObject pour chaque objet sépare la relation cela modifiera l'ensemble qui n'est pas autorisé dans l'énumération normale).Comment puis-je dissocier et supprimer un objet connexe dans CoreData

Répondre

3

Supprimez chaque objet enfant via le NSManagedObjectContext et la relation sera nettoyée de manière appropriée. Cela suppose que vous suivez la convention et que toutes vos relations soient configurées pour être bidirectionnelles.

+0

Dois-je m'inquiéter de l'ensemble en cours de modification pendant que je l'énumère? –

Questions connexes