Национальная проблема сортировки - PullRequest
1 голос
/ 25 июля 2011

У меня есть массив NSDictionary.

NSDictionary*  dictionary = [NSDictionary dictionaryWithObjects:bothUserName forKeys:bothUID];  // here array "bothUserName" and "bothUID" is an NSArray type


[dictionary keysSortedByValueUsingSelector:@selector(compare:)];

NSLog(@" dictionary objects %@",dictionary);

Я получаю вывод, подобный этому.

dictionary objects {

 14172368 = webtickle;
271882407 = electrodealio;
314125883 = Coral5mz;
316212228 = ajaysinghHF2;
316348693 = Caroline99a;
43944597 = WorldStuffer;
 }

но я хочу получить такой вывод.

объекты словаря {

 316212228 = ajaysinghHF2;
316348693 = Caroline99a;
314125883 = Coral5mz;
271882407 = electrodealio;
14172368 = webtickle;
43944597 = WorldStuffer;
 }

Заранее спасибо.

1 Ответ

3 голосов
/ 25 июля 2011

keysSortedByValueUsingSelector возвращает отсортированный массив, содержащий ключи словаря. Вы должны использовать этот возвращенный массив для извлечения связанных объектов:

NSDictionary*  dictionary = [NSDictionary dictionaryWithObjects:bothUserName forKeys:bothUID];  

NSArray *sortedKeys = [dictionary keysSortedByValueUsingSelector:@selector(compare:)];

for (NSString *key in sortedKeys) {
  NSLog(@"%@: %@", key, [dictionary objectForKey:key]);
}
...