Мне нужно отсортировать массив возрастных групп. Задача состоит в том, что любые возрастные группы менее чем на 10 сортируют выше, чем те, которые 10-19 лет при использовании стандартного NSArray localizedCaseInsensitiveCompare
В частности, вот пример того, как может выглядеть мой несортированный массив:
(
"17-18",
"13-14",
"8 и Под",
"Женщины",
"Мужчины",
"15-16"
)
После сортировки я бы захотел бы , чтобы это выглядело так:
(
"8 и Под",
"13-14",
"15-16",
"17-18",
"Мужчины",
"Женщины"
)
Но в конечном итоге это выглядит примерно так:
(
"13-14",
"15-16",
"17-18",
"8 и Под",
"Мужчины",
"Женщины"
)
Используется следующий код:
NSArray *sortedAgeArray = [ageArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
Мне нравится, что "Мужчины" и "Женщины" заканчиваются, вот чего я хочу. Но есть ли умный / эффективный способ справиться с возрастом менее 10 лет? Переформатировать мои данные, чтобы включить ведущие нули, не вариант.
Я знаю, что могу написать собственную функцию сортировки, но я стараюсь не делать этого.
Спасибо!