Transient sectionNameKeyPath & NSSortDescriptor NSFetchedResultsController

Ich habe eine Liste von Aufgaben in Core Data. Ich hole sie mit einem NSFetchedResultsController in eine UITableView.

Ich benötige benutzerdefinierte Abschnitte in einer benutzerdefinierten Reihenfolge:

ÜBERFÄLLIGAKTIVLAUFENDAufgeschobenABGESCHLOSSEN

Um zu bestimmen, in welchen Abschnitt eine Aufgabe gehen soll, verwende ich ein abgeleitetes transientes Attribut, das im laufenden Betrieb basierend auf anderen Attributen im relativen Objekt berechnet wird.

Leider können Sie keinen abgeleiteten Wert als Sortierdeskriptor übergeben, der von einer Abrufanforderung verwendet wird. Dies liegt daran, dass ein Abruf davon abhängt, dass bereits Daten vorhanden sind, die abgerufen werden sollen. Hühnerei.

Ich verstehe, warum ich es nicht kann, das hilft mir nicht, das Problem zu lösen!

Ich habe es versucht:

Unterklasse von NSFetchedResultsController zu 'Anpassen der Erstellung von Abschnitten und Indextiteln'. Vielleicht mache ich das falsch, aber das ändert nur die Namen und die Reihenfolge der Abschnitte, nicht wie viele Dinge in diesen Abschnitten vor sich gehen (was kritisch ist).

Bestücken von Arrays pro Abschnitt und Einspeisen in den Tisch (klobig, langsam und dennoch voll funktionsfähig).

Herausreißen von laufenden und verschobenen Aufgaben (was funktioniert, aber nicht ideal ist). Auf diese Weise kann ich nach Fälligkeitsdatum sortieren und den sectionNameKeyPath über die Übergangswerte steuern.

Hat jemand bessere Ideen? Es gibt bereits einige Fragen wie diese, von denen jedoch keine zu einer ordentlichen Lösung führt.

Danke im Voraus!

Prost

Antworten auf die Frage(1)

Ihre Antwort auf die Frage