A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© u37kl 中级黑马   /  2016-2-16 17:28  /  744 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1>使用- (NSArray *) sortedArrayUsingComparator:^(NSComparisonResult)(id obj1, id obj2);
    NSArray *arr = [NSArray arrayWithObjects:@"F", @"E", @"C", @"B", @"A", @"D", nil];
    NSArray *ass = [arr sortedArrayUsingComparator:^(id obj1, id obj2){ // 当代码块返回1时,两个元素交换,当代码块返回0、-1时,两个元素不交换。
        return [obj1 compare:obj2]; // 如果想要数组升序排序,则这样写
        //return [obj1 compare:obj2]; 如果想要数组降序排序,则这样写
    }];

2>使用- (NSArray *) sortedArrayUsingSelector:(SEL)sel;
    - (NSComparisonResult) sort:(NSString *) str{ // 扩展NSString类型的大小比较。
        return [self compare:str]; // 如果想要数组升序排序,则这样写.
        return [str compare:self]; // 如果想要数组降序排序,则这样写.
    }
    NSArray *arr = [NSArray arrayWithObjects:@"F", @"E", @"C", @"B", @"A", @"D", nil];
    NSArray *ass1 = [arr sortedArrayUsingSelector:@selector(sort:)];
    NSArray *ass2 = [arr sortedArrayUsingSelector:@selector(compare:)];

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马