NSSortDescriptor: comparação personalizada em várias chaves simultaneamente

Eu tenho um objeto personalizado que contém informações baseadas no período de tempo, por exemplo, os atributos endCalYear, endMonth e periodLength que indicam o final de cada período e seu comprimento.

Eu gostaria de criar umNSSortDescriptor baseado ou outro método de classificação que combina esses três atributos e permite classificar este objeto em todas as três chaves ao mesmo tempo.

Exemplo:

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

O algoritmo de classificação seria completamente discricionário baseado no meu próprio algoritmo.

Como eu poderia codificar esse algoritmo?

O bloco baseadosortDescriptorWithKey:ascending:comparator: método não funciona na minha opinião, porque me permite especificar apenas uma chave de classificação. No entanto, preciso classificar as três chaves ao mesmo tempo.

Alguma idéia ou pensamentos sobre como resolver isso?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion