NSMutableDictionary и NSArray - PullRequest
       13

NSMutableDictionary и NSArray

1 голос
/ 17 марта 2011

У меня такая проблема.У меня есть NSMutableDictionary

Object  10          Key  1
Object  20          Key  2
Object  30          Key  3
Object  40          Key  4
Object  50          Key  5

Тогда у меня есть код

NSArray*currentArray=[currentMutableDictionary allValues];

Когда я вывожу текущий массив, у меня есть значение

20
50
30
10
40

Как я могу добавить объекты из словаря вМассив в правильном порядке?

Спасибо за ваши ответы.

Ответы [ 3 ]

2 голосов
/ 17 марта 2011

Попробуйте это:

NSInteger intSort(id num1, id num2, void *context)
{
    int v1 = [num1 intValue];
    int v2 = [num2 intValue];
    if (v1 < v2)
        return NSOrderedAscending;
    else if (v1 > v2)
        return NSOrderedDescending;
    else
        return NSOrderedSame;
}

 NSArray *currentArray = [[currentMutableDictionary allValues] sortedArrayUsingFunction:intSort context:nil];

Это должно правильно отсортировать массив, если в вашем словаре есть объекты NSNumber.

0 голосов
/ 17 марта 2011

Вы можете извлечь ключи в отсортированном порядке, используя keysSortedByValueUsingComparator, затем создать изменяемый массив для ввода значений и извлечь их, используя objectsForKeys:notFoundMarker:.

0 голосов
/ 17 марта 2011

вместо этого вы можете создать NSMutableArray и добавить объекты, повторяющие его, используя метод addObjectAtIndex

...