我想按值排序和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