NSSortDescriptor:对NSDictionary的NSArray进行排序

NSMutableArray *oldArray = [[NSMutableArray alloc] init];
   
    NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"11111", @"number", @"c", @"name", nil];
    NSDictionary *dic2 = [[NSDictionary alloc] initWithObjectsAndKeys:@"22222", @"number", @"b", @"name", nil];
    NSDictionary *dic3 = [[NSDictionary alloc] initWithObjectsAndKeys:@"33333", @"number", @"a", @"name", nil];
   
    [oldArray addObject:dic2];
    [oldArray addObject:dic3];
    [oldArray addObject:dic1];
   
    NSLog(@"oldArray__%@",oldArray);
   
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"number" ascending:YES];
    NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
    NSMutableArray *sortArray = [[NSMutableArray alloc] initWithArray:[oldArray sortedArrayUsingDescriptors:sortDescriptors]];
   
    NSLog(@"sortArray__%@",sortArray);

输出结果:

2013-06-10 15:00:47.648 dicTest[16553:c07] oldArray__(
        {
        name = b;
        number = 22222;
    },
        {
        name = a;
        number = 33333;
    },
        {
        name = c;
        number = 11111;
    }
)
2013-06-10 15:00:47.650 dicTest[16553:c07] array__(
        {
        name = c;
        number = 11111;
    },
        {
        name = b;
        number = 22222;
    },
        {
        name = a;
        number = 33333;
    }
)

原文地址:https://www.cnblogs.com/nanoCramer/p/3130757.html