Помогите мне отсортировать NSMutableArray, полный объектов NSDictionary - Цель C - PullRequest
6 голосов
/ 23 апреля 2011

У меня есть NSMutableArray, полный объектов NSDictionary.Например,

NSMutableArray *names = [[NSMutableArray alloc] init];
for (NSString *string in pathsArray) {
    NSString *path = [NSString stringWithFormat:@"/usr/etc/%@",string];
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:string,@"name",path,@"path",nil];
}

pathsArray не сортируется, поэтому я застрял с порядком объектов внутри него.Я хотел бы отсортировать массив имен в алфавитном порядке объектов для ключа: @ "name" в словаре.Можно ли это сделать легко или это займет несколько уровней перечисления?

РЕДАКТИРОВАТЬ: Я нашел ответ на SO в этом вопросе: Сортировать NSMutableArray

Класс NSSortDescriptor.

NSSortDescriptor *sortName = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[names sortUsingDescriptors:[NSArray arrayWithObject:sortName]];
[sortName release];

Кто-нибудь хочет получить бесплатные баллы за ответы?

1 Ответ

18 голосов
/ 23 апреля 2011

Попробуйте что-то вроде этого:

 NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"name"
                                          ascending:YES] autorelease];
 NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
 NSArray *sortedArray = [names sortedArrayUsingDescriptors:sortDescriptors];

 // names : the same name of the array you provided in your question.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...