黑马程序员技术交流社区

标题: NSArray排序 [打印本页]

作者: u37kl    时间: 2016-2-16 17:28
标题: NSArray排序
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:)];





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2