NSSortDescriptor: Niestandardowe porównanie wielu kluczy jednocześnie

Mam niestandardowy obiekt, który zawiera informacje oparte na okresie czasu, na przykład atrybuty endCalYear, endMonth i periodLength, które wskazują koniec każdego okresu i jego długość.

Chciałbym stworzyćNSSortDescriptor metoda sortowania oparta na bazie lub inna, która łączy te trzy atrybuty i umożliwia sortowanie tego obiektu na wszystkie trzy klucze w tym samym czasie.

Przykład:

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

Algorytm sortowania byłby całkowicie dyskrecjonalny w oparciu o mój własny algorytm.

Jak mogę zakodować taki algorytm?

Blok opartysortDescriptorWithKey:ascending:comparator: metoda nie działa w moim przypadku, ponieważ pozwoliłaby mi określić tylko jeden klucz sortowania. Muszę jednak posortować wszystkie trzy klucze w tym samym czasie.

Jakieś pomysły lub myśli, jak to rozwiązać?

Dziękuję Ci!

questionAnswers(2)

yourAnswerToTheQuestion