我想按值排序和NSMutableDictionary,然后按键。我有下面的代码工作的排序值:对值和键进行NSMutableDictonary排序?
NSMutableDictionary *dict = [[NSMutableDictionary alloc]initWithCapacity:10];
[dict setObject:[NSNumber numberWithInt:5] forKey:@"eblk"];
[dict setObject:[NSNumber numberWithInt:2] forKey:@"dstl"];
[dict setObject:[NSNumber numberWithInt:4] forKey:@"cast"];
[dict setObject:[NSNumber numberWithInt:4] forKey:@"breb"];
[dict setObject:[NSNumber numberWithInt:5] forKey:@"apts"];
NSArray *sortedKeys = [dict keysSortedByValueUsingComparator: ^(id obj1, id obj2)
{
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];
那么我想基于键再次进行排序,以便我最终的按键阵列像这样:
又如sortedKeys:相应的字典值
“APTS”:5
“eblk”:5
“屈曲约束耗能支撑”:4
“中投”:4
“DSTL”:2
我对价值的工作第一个排序,我只是不知道如何让基于关键次要排序开始。
我试着按键排序,然后按值排序,但没有奏效。
任何帮助,将不胜感激。谢谢。
你为什么要排序的字典?字典是一个无序的集合,所以即使您对键或值进行排序,如果您记录字典,它们也不一定按此顺序排列。 – rdelmar