Desidero raggruppare i risultati di un NSFetchRequest
in base all'entità. Le entità condividono lo stesso genitore astratto. Per esempio:È possibile ordinare per sottoclassi in un `NSFetchRequest` senza aggiungere ulteriori attributi?
animal
|
|-cat
|
|-dog
Il NSFetchRequest
ha includesSubentities
impostare TRUE
e entity
insieme a animal
. È possibile impostare sectionNameKeyPath
di NSFetchedResultsController su entity.name
ma non è possibile fare lo stesso con lo sortDescriptors
dello NSFetchRequest
a causa del fatto che lo sortDescriptors
viene applicato agli attributi memorizzati (ovvero i dati nel database, non i metodi sulle classi). Pertanto, l'unico modo per raggruppare per tipo di entità è quello di aggiungere un attributo alla superclasse che le sottoclassi possono utilizzare per identificarsi.
Questo sembra folle in quanto mina l'utilità dell'ereditarietà. Ho dato un'occhiata al database SQLite e il tipo di entità è memorizzato nella stessa tabella degli attributi in modo che i dati richiesti siano già presenti.
In breve: è possibile ordinare per sottoclassi in un NSFetchRequest
senza aggiungere ulteriori attributi?
Hai mai trovato una risposta a questa domanda? – epologee
@epologee. No, non ho trovato una soluzione. Penso che la cosa migliore da fare sia riordinare 'fetchedResultsController.sections' o non usare' NSFetchedResultsController'. –
Ho fatto ricorso a più istanze NSFetchedResultsController, una per ogni entità: S. Preferita la domanda se mai qualcuno trova una risposta ad esso. Saluti. – epologee