Ну, самое большое препятствие, которое я вижу, это то, что вам, вероятно, понадобится пользовательское свойство для Class
объектов, которое вы можете использовать в качестве ключа NSSortDescriptor
. К сожалению, нет реального способа добавить методы / категории к Class
объектам.
Итак, я бы, вероятно, использовал NSStringFromClass()
для преобразования ваших Class
объектов в строки, затем используйте категорию NSString
, чтобы добавить собственный метод сравнения (что-то вроде compareToClass:
), который преобразует строку обратно в Class
, выполняет определение подкласса, а затем возвращает соответствующую константу упорядочения.
Оттуда вы можете использовать NSArray
метод sortedArrayUsingSelector:
, чтобы привести их в порядок.