我有以下NSDictionary,其中包含以下数据结构:
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个值,密钥对。
例如,如果Apple的食品名称为100,那么它将首先出现。
到目前为止,我有循环,但没有别的。
for (int i = 0; i <= 5; i++) {
}
不确定还能做什么。我认为这更难,因为整个字典的排序方式与新数组不同,但我可能错了。
答案 0 :(得分:1)
我想你应该试试
-[keysSortedByValueUsingSelector:]
中的NSDictionary
,按值排序并获得关键结果。