Можно ли сортировать по подклассам в `NSFetchRequest` без добавления дополнительных атрибутов?

Я хочу сгруппировать результаты NSFetchRequest по сущностям. Все сущности имеют одного и того же абстрактного родителя. Например:

animal
|
|-cat
|
|-dog

NSFetchRequest имеет includesSubentities , установленный TRUE , и объект , установленный на животное . Можно установить sectionNameKeyPath NSFetchedResultsController на entity.name , но нельзя сделать то же самое с sortDescriptors из [NSFetchReetch]. ] из-за того, что sortDescriptors применяются к сохраненным атрибутам (то есть данным в базе данных, а не методам классов). Следовательно, единственный способ группировки по типу сущности - добавить к суперклассу атрибут, который подклассы могут использовать для идентификации.

Это кажется безумным, так как подрывает полезность наследования. Я просмотрел базу данных SQLite, и тип объекта хранится в той же таблице, что и атрибуты, поэтому необходимые данные уже есть.

В итоге: можно ли сортировать по подклассам в NSFetchRequest без добавления дополнительных атрибутов?

7
задан Benedict Cohen 14 October 2010 в 08:38
поделиться