国であるキーと都市の配列であるオブジェクトを持つ NSDictionary があります。
United States
New York
Portland
Austin
San Francisco
India
New Delhi
Belgium
Antwerp
Brussels
この辞書から、次のような辞書を作成したいと思います。
United States
4
Belgium
2
India
1
したがって、キーの最大数からキーの最小数にソートされ、新しいキーは元の辞書のキーの数です。これは可能ですか?最も効率的な方法は何ですか?
私が得た最も遠いのは、
NSComparator sorter = ^NSComparisonResult(id a, id b)
{
NSArray* a1 = a;
NSArray* a2 = b;
if([a1 count] > [a2 count]) return NSOrderedAscending;
if([a1 count] < [a2 count]) return NSOrderedDescending;
return NSOrderedSame;
}
NSArray* ordered = [dictionary keysSortedByValueUsingComparator:sorter];
しかし、その配列にアタッチされた値ではなく、順序付けられた配列しかありません。
前もって感謝します!