У меня есть следующие NSDictionary со следующей структурой данных:Match NSDictionary Key Value Pairs
Food Count (values) - Food Name (key)
Я сортирую, что рассчитывать еда NSDictionary как так:
NSArray *sortedFood = [[detailDictionary allValues] sortedArrayUsingComparator:^(id obj1, id obj2) {
if ([obj1 intValue] < [obj2 intValue])
return (NSComparisonResult)NSOrderedDescending;
if ([obj1 intValue] > [obj2 intValue])
return (NSComparisonResult)NSOrderedAscending;
return (NSComparisonResult)NSOrderedSame;
}];
Он сортируется это следующим образом
100
98
50
30
etc.
Я пытаюсь использовать этот новый массив sortedFood, чтобы показать только верхнее значение 5, ke y пар для пищи.
Например, если Apple является наименованием пищевого продукта, которое имеет значение 100, оно будет выглядеть первым.
Пока у меня есть петля, но больше ничего.
for (int i = 0; i <= 5; i++) {
}
Не уверен, что еще нужно делать. Я думаю, что это сложнее, потому что весь словарь не сортируется так же, как новый массив, но я могу ошибаться.
Я думаю, что ответ на этот вопрос поможет вам http://stackoverflow.com/questions/17257582/sorting-a-nsdictionary-how-does-it-work – Popeye