Как я могу отсортировать NSMutableArray по алфавиту? - PullRequest
21 голосов
/ 18 января 2011

Я хочу отсортировать NSMutableArray по алфавиту.

Ответы [ 6 ]

96 голосов
/ 18 января 2011

Вы можете сделать это для сортировки NSMutableArray:

[yourArray sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
47 голосов
/ 06 ноября 2012

В других ответах, приведенных здесь, упоминается использование @selector (localizedCaseInsensitiveCompare:)
Это прекрасно работает для массива NSString, однако ОП отметил, что массив содержит объекты и что сортировка должна выполняться согласно свойству object.name.
В этом случае вам следует сделать следующее:

NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
[yourArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];

Ваши объекты будут отсортированы в соответствии со свойством name этих объектов.

1 голос
/ 09 декабря 2014
NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; // Describe the Key value using which you want to sort. 
NSArray * descriptors = [NSArray arrayWithObject:valueDescriptor]; // Add the value of the descriptor to array.
sortedArrayWithName = [yourDataArray sortedArrayUsingDescriptors:descriptors]; // Now Sort the Array using descriptor.

Здесь вы получите список отсортированных массивов.

0 голосов
/ 12 октября 2015

Может быть, это может вам помочь:

[myNSMutableArray sortUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"firstName" ascending:YES],[NSSortDescriptor sortDescriptorWithKey:@"lastName" ascending:YES]]];

Все соответствует NSSortDescriptor ...

0 голосов
/ 11 августа 2015
NSSortDescriptor * sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Name_your_key_value" ascending:YES];
NSArray * sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; 
NSArray * sortedArray;
sortedArray = [Your_array sortedArrayUsingDescriptors:sortDescriptors];
0 голосов
/ 18 января 2011

Используйте класс NSSortDescriptor и отдыхайте, вы получите каждую вещь здесь

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