• 对数组中的字典进行排序


    原来字典
    NSArray *arr = @[@{@"index" : @"3", @"key" : @"value"}, @{@"index" : @"4", @"key" : @"value"}, @{@"index" : @"1", @"key" : @"value"}, @{@"index" : @"2", @"key" : @"value"}];

    要重新按照字典里的index值排序变成这样

    NSArray *arr = @[@{@"index" : @"1", @"key" : @"value"},
                     @{@"index" : @"2", @"key" : @"value"},
                     @{@"index" : @"3", @"key" : @"value"},
                     @{@"index" : @"4", @"key" : @"value"}];


    方法一:
    - (NSComparisonResult)compare:(Person *)otherObject {
        return [self.birthDate compare:otherObject.birthDate];
    }
    NSArray *sortedArray;
    sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];

    方法二:(推荐)
    NSSortDescriptor *sortDescriptor;
    sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"birthDate"
                                                  ascending:YES] autorelease];
    NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
    NSArray *sortedArray;
    sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];


    方法三:
    NSArray *sortedArray;
    sortedArray = [drinkDetails sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
        NSDate *first = [(Person*)a birthDate];
        NSDate *second = [(Person*)b birthDate];
        return [first compare:second];
    }];
     
     
  • 相关阅读:
    嵌入式Linux驱动学习之路(十九)触摸屏驱动、tslib测试
    GNU make使用变量⑤变量的引用、定义等
    Java并发——核心理论
    Java并发——volatile的原理
    Java线程与Linux内核线程的映射关系
    Reactor模式详解
    Java实现二分查找算法
    Dubbo协议与连接控制
    linux 域名
    package报错
  • 原文地址:https://www.cnblogs.com/Xujg/p/5325080.html
Copyright © 2020-2023  润新知