отсортировать массив по ключу

#objective-c #xcode

#objective-c #xcode

Вопрос:

Я создаю NSMutableArray(listId) (посредством вызова базы данных sqlite) с dictionaries(dizionario) :

 -(void)readItems {
    NSString * query = @"SELECT * FROM item";
    NSArray * arrayQuery = [[NSArray alloc] initWithObjects:@"id",@"title",@"note",@"icon",@"perc",@"complete",nil];
    NSArray * arrayEle = [self caricaValoriDaDBStandard:query :arrayQuery];

    for (int i = 0; i < [arrayEle count]; i  )
    {
        NSMutableDictionary *dizionario = [arrayEle objectAtIndex:i];
        [listId addObject:dizionario];
    }
}
  

Как мне отсортировать массив, например, по ключу «id»?

Комментарии:

1. Немного почистил ваш код. Старайтесь не использовать табуляции в своих фрагментах кода на SO. Замените их на 4 пробела. Приветствия!

Ответ №1:

Вы можете использовать следующий код:

 NSArray sortedArray = [listId sortedArrayUsingComparator: ^(id a, id b) {
    NSString *first = [a objectForKey:@"id"];
    NSString *second = [b objectForKey:@"id"];
    return [first compare:second];
}];
  

Комментарии:

1. очень приятно! Спасибо! как мне выбрать, чтобы он был в порядке возрастания или убывания?

2. @Vins Надеюсь, это сработает! Если да, не забудьте принять ответ 😉

3. да, все еще ждем 2 минуты, есть ограничение по времени, чтобы это сделать 🙂