keysSortedByValueUsingComparator:
Returns an array of the dictionary’s keys, in the order they would be in if the dictionary were sorted by its values using a given comparator block.
- (NSArray *)keysSortedByValueUsingComparator:(NSComparator)cmptr
Parameters
- cmptr
- A comparator block.
Return Value of [NSDictionary keysSortedByValueUsingComparator]
An array of the dictionary’s keys, in the order they would be in if the dictionary were sorted by its values using cmptr.
Example of [NSDictionary keysSortedByValueUsingComparator]
NSArray *sortedArray = [keySort keysSortedByValueUsingComparator: ^(id obj1, id obj2) {
NSString *p1 = [obj1 objectForKey:@"pos"];
NSString *p2 = [obj2 objectForKey:@"pos"];
if (p1 > p2 ) {
return (NSComparisonResult)NSOrderedDescending;
}
if (p1 < p2) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];
Example of [NSDictionary keysSortedByValueUsingComparator]
NSArray* sortedKeys = [stats keysSortedByValueUsingComparator:^(id first, id second) {
if ( first < second ) {
return (NSComparisonResult)NSOrderedAscending;
} else if ( first > second ) {
return (NSComparisonResult)NSOrderedDescending;
} else {
return (NSComparisonResult)NSOrderedSame;
}
}];
Example of [NSDictionary keysSortedByValueUsingComparator]
SArray *myArray;
myArray = [myDict keysSortedByValueUsingComparator: ^(id obj1, id obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];