У меня есть список задач в Core Data. Я забираю их в UITableView с помощью NSFetchedResultsController.
Мне нужны пользовательские разделы в пользовательском порядке:
- OVERDUE
- ACTIVE
- ONGOING
- ОТПРАВЛЕНЫ
- ЗАВЕРШЕНА
Чтобы определить, в какой раздел должна идти задача, я использую производный переходный атрибут, рассчитанный на лету, на основе других атрибутов в относительном объекте.
К сожалению, вы не можете передать производное значение в качестве дескриптора сортировки, используемого запросом на выборку. Это связано с тем, что выборка основана на том, что уже есть данные, которые запрашивается для извлечения. Курица и яйцо.
Я понимаю, почему я не могу этого сделать, это не помогает мне решить проблему!
Я пробовал:
-
Подкласс NSFetchedResultsController для настроить создание разделов и названий индексов. Возможно, я делаю это неправильно, но это просто изменяет имена и порядки разделов, а не то, как много вещей идет в этих разделах (что очень важно).
-
Заполнение массивов в разрезе и подача их на стол (неуклюжие, медленный, но полностью работает).
-
Разрыв текущих и отложенных задач (что работает, но не идеально). Таким образом, я могу сортировать по умолчанию и управлять секциейNameKeyPath с помощью переходных значений.
Есть ли у кого-нибудь лучшие идеи? Есть довольно много вопросов, уже подобных этому, но ни один из них не подходит к аккуратным решениям.
Спасибо заранее!
Приветствия