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:)];
|
|