Сортировка NSMutableDictionary данных

#iphone #sorting #nsmutabledictionary

#iPhone #сортировка #nsmutabledictionary

Вопрос:

В моем приложении у меня есть словарь, который содержит ключи от А до Я, т. е. 26 символов, которых нет в отсортированном ie, например, для A, B, C,…… Я хочу сначала отсортировать ключи словаря в алфавитном порядке, а также отсортировать данные, относящиеся к каждому ключу, а затем снова сохранить их в том же словаре.

 NSArray *myKeys = [mGlossaryDict allKeys];
NSArray *op = [myKeys sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
  

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

Ответ №1:

 NSArray *myKeys = [mGlossaryDict allKeys];
NSArray *sortedKeys = [myKeys sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
NSMutableArray *sortedValues = [[[NSMutableArray alloc] init] autorelease];

for(id key in sortedKeys) {
    id object = [myGlossaryDict objectForKey:key];
    [sortedValues addObject:object];
}
  

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

1. Здесь ключи отсортированы, но данные внутри ключей не отсортированы.

2. Ваш вопрос не объясняет четко, что вы хотите сделать. Сортировка NSDictionary не имеет смысла, поэтому я предположил, что вам нужен массив со всеми значениями, отсортированными по ключу.

3. Как будто это делается для загрузки словаря в tableview, поэтому мне нужна сортировка, как если бы я извлек данные из базы данных и заполнил словарь, теперь данные из словаря отображаются не в отсортированном порядке. например. «a» и «A» здесь «A» отображается первым, означает, что сначала отображаются все символы с заглавной буквы, а затем остальные.