NSArray排序

来源:互联网 发布:qq三国js四象 编辑:程序博客网 时间:2024/05/16 06:15

转载自:http://www.cocoachina.com/bbs/read.php?tid-75375.html


NSMutableArray *array =  [[NSMutableArrayalloc] init];

    [array addObject:[NSNumbernumberWithInt:1]];

    [array addObject:[NSNumbernumberWithInt:3]];

    [array addObject:[NSNumbernumberWithInt:2]];

    

    NSArray *sorteArray = [array sortedArrayUsingComparator:^(id obj1, id obj2){

        if ([obj1 integerValue] > [obj2integerValue]) {

            return (NSComparisonResult)NSOrderedDescending;

        }

        

        if ([obj1 integerValue] < [obj2integerValue]) {

            return (NSComparisonResult)NSOrderedAscending;

        }

        

        return (NSComparisonResult)NSOrderedSame;

    }];

    

    NSLog(@"%@",sorteArray);           //从小到大

    

    

    NSArray *array2 = [array sortedArrayUsingComparator:^(id obj1, id obj2){

        if ([obj1 integerValue] > [obj2integerValue]) {

            return (NSComparisonResult)NSOrderedAscending;

        }

        

        if ([obj1 integerValue] < [obj2integerValue]) {

            return (NSComparisonResult)NSOrderedDescending;

        }

        

        return (NSComparisonResult)NSOrderedSame;

    }];

    

    NSLog(@"%@",array2);




另外可以这样写:
NSMutableArray *ma1 = [[NSMutableArray alloc] init];
    [ma1 addObject:@"2"];
    [ma1 addObject:@"1"];
    [ma1 addObject:@"3"];
  
    NSSortDescriptor *sd1 = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending:NO];
    NSArray *arr1 = [ma1 sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sd1, nil]];
  
    for (NSString *str in arr1) {
        NSLog(@"%@", str);
    } 



原创粉丝点击