Je veux regrouper les résultats d'un NSFetchRequest
par entité. Les entités partagent toutes le même parent abstrait. Par exemple:Est-il possible de trier par sous-classes dans un NSFetchRequest sans ajouter d'attributs supplémentaires?
animal
|
|-cat
|
|-dog
Le NSFetchRequest
a includesSubentities
mis TRUE
et entity
ensemble à animal
. Il est possible de définir sectionNameKeyPath
de NSFetchedResultsController sur entity.name
mais il n'est pas possible de faire la même chose avec sortDescriptors
du NSFetchRequest
en raison du fait que les sortDescriptors
sont appliqués aux attributs stockés (ie les données dans la base de données, pas les méthodes sur les classes). Par conséquent, la seule façon de regrouper par type d'entité est d'ajouter un attribut à la superclasse que les sous-classes peuvent utiliser pour s'identifier.
Cela semble fou car il mine l'utilité de l'héritage. J'ai jeté un oeil dans la base de données SQLite et le type d'entité est stocké dans la même table que les attributs de sorte que les données requises sont déjà en place.
En résumé: Est-il possible de trier par sous-classes dans un NSFetchRequest
sans ajouter d'attributs supplémentaires?
Avez-vous déjà trouvé une réponse à cette question? – epologee
@epologee. Non, je n'ai pas trouvé de solution. Je pense que la meilleure chose à faire est soit de re-trier 'fetchedResultsController.sections' ou ne pas utiliser' NSFetchedResultsController'. –
J'ai utilisé plusieurs instances NSFetchedResultsController, une pour chaque entité: S. Favorisé la question si jamais quelqu'un trouve une réponse à cela. À votre santé. – epologee