重要经验六 NSDictionary排序

  集合类,比如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;

    }];


ok,排序完成,可以尽情享用了。

你可能感兴趣的:(NSDictionary,dic,NSDictionary排序)