Ich möchte die Ergebnisse einer NSFetchRequest
nach Einheit gruppieren. Die Entitäten haben alle denselben abstrakten Elternteil. Zum Beispiel:Ist es möglich, nach Unterklassen in einem `NSFetchRequest` zu sortieren, ohne zusätzliche Attribute hinzuzufügen?
animal
|
|-cat
|
|-dog
Die NSFetchRequest
hat includesSubentities
gesetzt TRUE
und entity
Set animal
. Es ist möglich, sectionNameKeyPath
von NSFetchedResultsController auf entity.name
zu setzen, aber es ist nicht möglich, das Gleiche mit der sortDescriptors
von NSFetchRequest
zu tun, da die auf die gespeicherten Attribute angewendet werden (dh Daten in der Datenbank, nicht Methoden auf den Klassen). Daher besteht die einzige Möglichkeit, nach Entitätstyp zu gruppieren, darin, der Superklasse ein Attribut hinzuzufügen, das von Unterklassen verwendet werden kann, um sich selbst zu identifizieren.
Dies scheint verrückt, da es die Nützlichkeit der Vererbung untergräbt. Ich habe in der SQLite-Datenbank nachgesehen und der Entitätstyp wird in der gleichen Tabelle wie die Attribute gespeichert, so dass die erforderlichen Daten bereits vorhanden sind.
Zusammenfassend: Ist es möglich, nach Unterklassen in einer NSFetchRequest
zu sortieren, ohne zusätzliche Attribute hinzuzufügen?
Haben Sie jemals eine Antwort auf diese Frage gefunden? – epologee
@epologee. Nein, ich habe keine Lösung gefunden. Ich denke, das Beste, was zu tun ist, ist entweder 'fetchedResultsController.sections' neu zu sortieren oder' NSFetchedResultsController' nicht zu verwenden. –
Ich habe mehrere NSFetchedResultsController-Instanzen verwendet, eine für jede Entität: S. Ich habe die Frage bevorzugt, ob jemand jemals eine Antwort darauf findet. Prost. – epologee