匹配NSDictionary键值对

时间:2015-03-09 01:09:02

标签: ios objective-c algorithm loops

我有以下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++) {
}

不确定还能做什么。我认为这更难,因为整个字典的排序方式与新数组不同,但我可能错了。

1 个答案:

答案 0 :(得分:1)

我想你应该试试 -[keysSortedByValueUsingSelector:]中的NSDictionary,按值排序并获得关键结果。