集合类,比如NSArrray,NSDictionary,NSSet等,都可以使用快速枚举来获取数据,或者进行排序,我们常见的排序,都是基于NSArray的,而如果对NSDictionary进行排序,显得相对复杂一点点。
假设我们现在NSDictionary中的每一个key对应一个NSNumber表示数量,现在需要根据NSNumber数量的大小对NSDictionary进行排序,方法如下:
//self.keyCntDic为 key和数字大小的字典。
NSArray *sortedKeys = [self.keyCntDic keysSortedByValueUsingComparator:^NSComparisonResult(id obj1, id obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
return (NSComparisonResult)NSOrderedSame;
}];
NSDictionary排序
本文介绍了一种对NSDictionary中的元素按value值进行排序的方法。具体地,通过使用keysSortedByValueUsingComparator方法,结合自定义的比较器实现对字典中NSNumber类型的value进行升序或降序排列。
3797

被折叠的 条评论
为什么被折叠?



