Sto tentando di ordinare un NSDictionary.Ordinamento di un NSDictionary, discendente. Come posso inviare opzioni con il `compare: options:` selector?
Dal Apple docs vedo è possibile utilizzare 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:)];
che dà:
// sortedKeysArray contains: Geography, History, Mathematics, English
ma voglio:
// sortedKeysArray contains: English, Mathematics, History, Geography
Ho letto che è possibile utilizzare compare:options:
e un NSStringCompareOptions
per modificare il comp arison da confrontare nella direzione opposta.
Tuttavia, non capisco come si invia compare:options:
con un'opzione nel selettore.
voglio fare qualcosa di simile:
NSArray *sortedKeysArray = [dict keysSortedByValueUsingSelector:@selector(compare:options:NSOrderDescending)];
Come devo cambiare l'ordine del confronto?
correlati: https://discussions.apple.com/thread/3411089?start=0&tstart=0
'NSArray * ascedingArray = [[sortedKeysArray reverseObjectEnumerator] allObjects];' –