Сортировать массив, содержащий словари и иностранные буквы? - PullRequest
0 голосов
/ 07 февраля 2011

У меня есть массив, который содержит набор словарей, который состоит из двух ключей, называемых name и value.

Я пытаюсь отсортировать массив на основе ключа имени словаря - но словарь содержитДатские буквы, которые отображаются в неправильном порядке (fx 'a å b c', а не 'abc .. å') - Как мне сделать так, чтобы это правильно сортировалось с датскими символами?

NSSortDescriptor *nameSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
self.cityOptionsArray = (NSMutableArray *)[tempCityArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:nameSortDescriptor]];

1 Ответ

1 голос
/ 07 февраля 2011

NSSortDescriptor имеет инициализатор, который позволяет вам вызывать пользовательский метод сравнения для объектов, на которые он воздействует.

В вашем случае (и поскольку ваши ключи NSStrings) вы хотите использовать localizedCompare:.

Вы можете использовать это так:

NSSortdescriptor *nameSortDescriptor = [[NSSortDescriptor alloc]
          initWithKey:@"name"
          ascending:YES
          selector:@selector(localizedCompare:)];

Пожалуйста, не забудьте выпустить его, когда закончите с ним.

Подробнее см. Темы программирования дескриптора сортировки .

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