2009-11-16 2 views
0

J'ai des problèmes avec une relation récursive dans les données de base. J'ai un objet géré appelé "SearchCategory", et cette catégorie peut avoir "Catégories" et il peut également avoir une "Catégorie". Dans le modélisateur d'objets gérés, j'ai deux relations établies sur l'entité SearchCategory, et toutes deux pointent vers l'entité SearchCategory - l'une est nommée "Categories" et est une relation to-many. L'autre est "Catégorie", n'est pas un à-plusieurs, et est l'inverse de "Catégories".Relations récursives iPhone Core Data

Dans mon code j'utilise "setCategoriesObject" pour ajouter des catégories à une catégorie de recherche, qui semble fonctionner. Cependant, quand je dis [mySearchCategory setCategory:aParentCategory], où mySearchCategory serait une catégorie enfant de aParentCategory, il ne semble pas vouloir prendre en mémoire. Si je cours le code ci-dessus, puis [managedobjectcontext save:&err], il enregistre réellement la clé primaire de la catégorie parent dans le champ "Catégorie" de la catégorie enfant dans la base de données, mais les données de base ne synthétisent pas cette relation au moment de l'exécution, donc [mySearchCategory Category] néant. Des pensées ici?

+4

J'ai un peu de mal à vous suivre.Tous les autres mots semblent être "catégorie ".Pouvez-vous ajouter une capture d'écran de votre modèle? Je pense que cela aiderait –

+1

... et Veuillez indiquer le code que vous utilisez et la représentation exacte de la chaîne NSError que vous recevez de '- [NSManagedObjectContext save:]'. –

+1

Avez-vous vos relations inverses configurées comme vrais inverses? Si oui, vous verrez une ligne seulement avec des flèches de cardinalité pour indiquer to-one ou to-many.Vous devriez vraiment poster une capture d'écran du datamodel. –

Répondre

0

Il s'avère que j'interprétais les résultats que je voyais incorrectement. La relation fonctionnait bien, mais la façon dont je la regardais donnait l'impression que ce n'était pas le cas. Désolé pour le problème faux :(