我可以按照键名对NSDictionary
进行排序吗?
我可以按照键名对NSDictionary
进行排序吗?
NSMutableArray
。NSArray *sortedKeys = [[dict allKeys] sortedArrayUsingSelector: @selector(compare:)];
NSMutableArray *sortedValues = [NSMutableArray array];
for (NSString *key in sortedKeys)
[sortedValues addObject: [dict objectForKey: key]];
keysSortedByObjectUsingSelector:
。 - Max SeelemannNSDictionary
应该有一个名为keysSortedUsingSelector:
的API,以使事情更加清晰。 - mikeho使用objectsForKeys:notFoundMarker:
要简单得多。
NSDictionary *yourDictionary;
NSArray *sortedKeys = [yourDictionary.allKeys sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"self" ascending:YES]]];
// As we using same keys from dictionary, we can put any non-nil value for the notFoundMarker, because it will never used
NSArray *sortedValues = [yourDictionary objectsForKeys:sortedKeys notFoundMarker:@""];