黑马程序员技术交流社区
标题:
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