我有一个 NSDictionary,它的键是一个国家,一个对象是一系列城市:
United States
New York
Portland
Austin
San Francisco
India
New Delhi
Belgium
Antwerp
Brussels
我想从这本字典创建一个字典,如下所示:
United States
4
Belgium
2
India
1
如此从最大的key到最小的key排序,新的key就是原字典中key的个数。这可能吗?什么是最有效的方法?
我得到的最远的是使用
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];
但是我只有一个有序数组,而不是附加到该数组的值。
提前致谢!