Сортировка строк по возрастанию - PullRequest
0 голосов
/ 08 октября 2010

У меня есть массив строк в следующем формате 5_5_a, 10_10_a, 0_0_a 1_1_a и т. Д. Я хочу отсортировать их в порядке возрастания / убывания.Когда я использую sortedArrayUsingSelector: @selector (сравните :), я получаю 0_0_a, 10_10_a, 1_1_a, 5_5_a.Я попытался разобрать каждую строку в 5 5 чанков и привести к int, затем поместить этот первый элемент в массив с помощью addObject: myInteger, но я получил предупреждения при компиляции.Пожалуйста, дайте мне знать, если я что-то упустил.Спасибо Марк

1 Ответ

0 голосов
/ 09 октября 2010

Это потому, что код ascii '_' больше, чем '0'.

Я не знаю, можете ли вы заменить '_' на '-', например? Это исправит вашу проблему, и вы сможете использовать sortedArrayUsingSelector.

Если вы не можете сделать:

[str stringByReplacingOccurancesOfString:@"_" withString:@"-"]

Затем отсортируйте ваш массив и, наконец, замените ваш '-' на '_'.

(это просто решение ... не самое лучшее ^^)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...