Как я могу отсортировать NSArray, содержащий NSDictionaries? - PullRequest
1 голос
/ 29 июля 2010

У меня есть NSArray, который содержит NSDictionary объектов.Каждый из этих NSDictionary объектов содержит ключ ORDER.

Как мне отсортировать NSArray на основе этого ключа в каждом из этих NSDictionaries?

Ответы [ 3 ]

7 голосов
/ 29 июля 2010

Вот пример.Представляет, что у вас есть множество словарей.У словаря Ecah есть 2 клавиши "name" и "dateOfBirth".Вы можете отсортировать ваш массив по «имени» следующим образом:

//
// Sort array by name
//
NSSortDescriptor *Sorter = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[myArray sortUsingDescriptors:[NSArray arrayWithObject:Sorter]];
[Sorter release];

Обратите внимание, что myArray - это NSMutableArray.

4 голосов
/ 29 июля 2010

Прочитайте раздел Сортировка с дескрипторами сортировки Темы программирования коллекций Apple .

Пример в этом разделе охватывает сортировку массива объектов словаря по их ключам.

1 голос
/ 30 ноября 2013

Сортировать массив словарей вы должны использовать NSSortDescriptor, по этому вы можете отсортировать массив словарей по ключу

здесь, в коде, передайте NSMutableArray с помощью dict Object, с помощью которого вы хотите отсортировать его

-(NSMutableArray*)sortingArrayOfDict:(NSMutableArray *)arrayTosort sortByObject:(NSString*)sortKey{
NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:sortKey ascending:YES];
[arrayTosort sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]];
return arrayTosort;
 }

или даже вы можете отсортировать его в порядке возрастания или убывания, установив его ДА / НЕТ

...