0

J'ai deux entités A et B. A a une relation un-à-plusieurs avec B. Maintenant, je veux récupérer l'entité B en utilisant NSFetchResultController. Si l'entité A a plus d'un B, je devrais obtenir un seul B lors de la récupération. Quelqu'un peut-il me dire comment utiliser le prédicat pour cette recherche? Merci d'avance.Prédicat pour l'entité enfant à parent à l'aide de NSFetchResultController

+0

Pouvez-vous expliquer votre besoin de plus? Avez-vous besoin d'utiliser une FRC plutôt qu'une récupération directe? Si oui, pourquoi? Et pourquoi voudriez-vous seulement un B pour chaque A? Et s'il y a plus d'un B pour un A donné, lequel B voudriez-vous inclure? – pbasdf

+0

Je dois utiliser FRC. S'il y a plus d'un B pour un A donné, le B avec la dernière date créée (un attribut) sera inclus. –

+0

Avez-vous besoin de la FRC pour fournir des sections (par exemple utilisez-vous sectionNameKeyPath)? – pbasdf

Répondre

0

Vous ne pouvez pas faire cela avec un FRC. Même si vous le pouviez, les notifications de mise à jour ne seraient pas correctes lorsque le modèle changerait, ce qui est inutile de toute façon.

Donc, vous devez soit

a) Fetch, filtre et trier manuellement pour obtenir vos données source. Vous pouvez observer NSManagedObjectContextObjectsDidChangeNotification pour savoir quand actualiser. B) mettre en cache ces informations dans une propriété distincte afin qu'elles soient accessibles à la FRC. c'est-à-dire que B doit savoir de manière indépendante s'il doit être affiché.