NSSortDescriptor: comparación personalizada en varias teclas simultáneamente

Tengo un objeto personalizado que contiene información basada en el período de tiempo, por ejemplo, los atributos endCalYear, endMonth y periodLength que indican el final de cada período y su longitud.

Me gustaría crear unNSSortDescriptor método de clasificación basado u otro que combina estos tres atributos y permite clasificar este objeto en las tres claves al mismo tiempo.

Ejemplo:

EndCalYear  endMonth  periodLength (months) sortOrder
2012        6         6                     1
2012        6         3                     2
2012        3         3                     3
2011        12        12                    4

El algoritmo de clasificación sería completamente discrecional basado en mi propio algoritmo.

¿Cómo podría codificar tal algoritmo?

El bloque basadosortDescriptorWithKey:ascending:comparator: El método no funcionará en mi opinión porque me permitiría especificar solo una clave de clasificación. Sin embargo, tengo que ordenar las tres claves al mismo tiempo.

¿Alguna idea o pensamiento sobre cómo resolver esto?

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta