Seção transitóriaNameKeyPath & NSSortDescriptor NSFetchedResultsController

Eu tenho uma lista de tarefas no Core Data. Eu buscá-los em um UITableView usando um NSFetchedResultsController.

Preciso de seções personalizadas em uma ordem personalizada:

VencidoATIVOEM PROGRESSOADIADOCOMPLETADO

Para determinar em qual seção uma tarefa deve ir, eu uso um atributo transiente derivado calculado em tempo real baseado em outros atributos no objeto relativo.

Infelizmente, você não pode passar um valor derivado como um descritor de classificação usado por uma solicitação de busca. Isso ocorre porque uma busca depende de já ter dados solicitados. Ovo de galinha.

Eu entendo porque eu não posso fazer isso, isso não me ajuda a resolver o problema!

Eu tentei:

Subclassificando NSFetchedResultsController para 'personalizar a criação de seções e títulos de índice'. Talvez eu esteja fazendo isso errado no entanto isso apenas muda os nomes e ordens de seções, não quantas coisas vão nessas seções (o que é crítico).

Preenchendo matrizes por seção e alimentando-as à mesa (desajeitada, lenta, mas funciona totalmente).

Arrancar tarefas contínuas e adiadas (o que funciona, mas não é o ideal). Dessa forma, eu posso classificar por dueDate e direcionar a sectionNameKeyPath por meio dos valores transitórios.

Alguém tem alguma ideia melhor? Existem algumas perguntas como esta, mas nenhuma delas chega a uma solução perfeita.

Desde já, obrigado!

Felicidades

questionAnswers(1)

yourAnswerToTheQuestion