最初に値でソートし、次にキーで NSMutableDictionary をソートしようとしています。以下のコードで値による並べ替えを行っています。
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 : dict の対応する値
"アパート": 5
"eblk": 5
"ブレブ": 4
「キャスト」:4
"dstl": 2
値の最初の並べ替えが機能していますが、キーに基づいて2番目の並べ替えを開始する方法がわかりません。
最初にキーで、次に値でソートしようとしましたが、うまくいきませんでした。
どんな助けでも大歓迎です。ありがとう。