NSSortDescriptor: пользовательское сравнение нескольких ключей одновременно
У меня есть пользовательский объект, который содержит информацию на основе периода времени, например, атрибуты endCalYear, endMonth и periodLength, которые указывают конец каждого периода и его длину.
Я хотел бы создатьNSSortDescriptor
основанный или другой метод сортировки, который объединяет эти три атрибута и позволяет сортировать этот объект по всем трем ключам одновременно.
Пример:
EndCalYear endMonth periodLength (months) sortOrder
2012 6 6 1
2012 6 3 2
2012 3 3 3
2011 12 12 4
Алгоритм сортировки будет полностью дискреционным на основе моего собственного алгоритма.
Как я мог написать такой алгоритм?
Блок на основеsortDescriptorWithKey:ascending:comparator:
метод не будет работать, на мой взгляд, потому что он позволил бы мне указать только один ключ сортировки. Однако мне нужно отсортировать все три ключа одновременно.
Есть идеи или мысли о том, как это решить?
Спасибо!