Vous avez un Stumper (au moins pour moi). J'utilise iOS 5.0 w/ARC et Core Data dans UIManagedDocument.L'objet géré Données de base ne voit pas les objets associés jusqu'au redémarrage. Simulateur
J'ai une entité (groupe) avec une relation to-many (appelée people) à entity (Person). Lorsque j'ajoute un nouveau groupe et ajoute une nouvelle personne (définissant la relation de groupe de la personne au nouveau groupe), je ne peux pas récupérer les personnes liées en utilisant un prédicat sur l'entité Personne où ("group ==% @", myGroup). J'ai aussi essayé d'utiliser le setPrester du groupe.
Si j'arrête le simulateur XCode et le relance, il reconnaît la relation qui a été créée lors de la précédente exécution, je peux même ajouter de nouvelles personnes à l'objet Groupe existant. Je ne peux simplement pas ajouter un nouveau groupe, puis ajouter des personnes sans arrêter le simulateur (ou l'appareil si je suis en cours d'exécution sur l'appareil) afin de voir la relation.
Si je fais un [nombre de personnes de groupe], immédiatement après avoir ajouté le nouveau groupe et une personne liée, il me donne le nombre correct. Mais un chargement avec un prédicat ne fonctionne pas jusqu'à ce que je redémarre l'application.
Il semble que le managedObjectContext du document UIManagedDocument ne voit pas la relation. J'ai essayé d'enregistrer le contexte, en sauvegardant context.parentContext, et en sauvegardant le document. Rien de tout cela n'a aidé.
Toutes les idées seraient appréciées!
Avez-vous défini la relation inverse dans votre modèle? – Rog
Oui. J'ai un un-à-plusieurs du groupe à la personne, des personnes nommées. Et un inverse un-à-un de personne à groupe, groupe nommé. – Byron