我正在尝试对 NSDictionary 进行排序。
从Apple docs 我看到你可以使用keysSortedByValueUsingSelector
:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:63], @"Mathematics",
[NSNumber numberWithInt:72], @"English",
[NSNumber numberWithInt:55], @"History",
[NSNumber numberWithInt:49], @"Geography",
nil];
NSArray *sortedKeysArray = [dict keysSortedByValueUsingSelector:@selector(compare:)];
这使:
// sortedKeysArray contains: Geography, History, Mathematics, English
但我想要:
// sortedKeysArray contains: English, Mathematics, History, Geography
我读过您可以使用compare:options:
, 和 anNSStringCompareOptions
来更改比较以在另一个方向进行比较。
但是我不明白您如何使用选择器中compare:options:
的选项发送。
我想做这样的事情:
NSArray *sortedKeysArray = [dict keysSortedByValueUsingSelector:@selector(compare:options:NSOrderDescending)];
我应该如何切换比较的顺序?
相关: https ://discussions.apple.com/thread/3411089?start=0&tstart=0