J'essaie actuellement de configurer un NsfetchedResultController qui commandera ma vue de table en fonction du nombre d'entités dans une relation à une autre relation. Je ne sais pas si cela fait une différence lors de la comptage, mais c'est aussi une relation inverse.
Je pensais que quelque chose comme ça fonctionnerait bien: P>
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Parent" inManagedObjectContext:managedObjectContext]; NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"children.@count" ascending:YES]; NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, nil]; [fetchRequest setSortDescriptors:sortDescriptors];
4 Réponses :
J'ai fini par ajouter une propriété de compte dans mon entité, je viens de l'augmenter chaque fois qu'une nouvelle relation a été ajoutée. Fabriqué le fetchedRésulteuse plus facile à utiliser.
Soyez intéressé si vous avez trouvé un moyen d'utiliser kvc. Je n'ai jamais eu besoin de réparer ce hack. P>
Quelque chose comme ça peut être utile: p>
Il me semble que cela doit être une solution meilleure et plus élégante. Est-ce que quelqu'un le sait? Merci.
Autant que je sache, vous ne pouvez pas appliquer le @Count dans la requête, mais vous pouvez facilement l'appliquer à la matrice récupérée.
J'ai ajouté l'accessor kvo Donc, dans ce cas particulier, ajoutez un attribut Edit: Ce correctif semble fonctionner uniquement sur iOS 6.1, pas sur iOS 6.0. P> -countof
nsmanagedObject code> sous-classe, car toute la magie semble se produire sous la hotte. P>
Nomofchildren code> à l'entité code> parent code>. Cela devrait supprimer l'exception. P>
Hé, pourriez-vous éventuellement donner plus de détails à ce sujet? L'auteur aurait dû ajouter l'attribut CountOfchildren dans le modèle, non? Quel type serait-il d'attribut ce serait-il? Y a-t-il plus à cette configuration?
Depuis iOS 13 (et amis), vous pouvez créer un Attribut dérivé A> appelé Childrencount code> avec l'expression dérivée
enfants. @ Nombre Code> puis définissez
fetchrequest.sortdescriptors = @ [[[[[[[[[[[]) ] code> p>
Comment puis-je utiliser un attribut dérivé. Je veux bien trier le parent de nombreuses relations avec les enfants d'enfants. S'il vous plaît donnez-moi un exemple de code, merci.
Vous voudrez peut-être utiliser
ArraywithObject: code> au lieu de
alloc code> et
initwithObjects: code>. Entre autres raisons, ne pas libérer que la matrice ne provoquera pas de fuite.
C'était juste un pseudo code pour ce que j'essaie d'accomplir, je libère le tableau dans mon code actuel.
Question similaire: Stackoverflow.com/questions/1520522/... < / a>