Имам 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];
Но тогава имам само подреден масив, а не тези стойности, прикачени към този масив.
Благодаря предварително!