首页 > 代码库 > 不可变数组或者可变数组进行排序
不可变数组或者可变数组进行排序
#import <Foundation/Foundation.h>
NSInteger myCompare(id obj1,id obj2,void *context)
{
//不分大小写进行升序排序
//return [obj1 caseInsensitiveCompare:obj2];
return -[obj1 caseInsensitiveCompare:obj2];
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSArray *array=@[@"one", @"Two", @"Three", @"Four"];
NSMutableArray *mutableArray=[NSMutableArrayarrayWithArray:array];
//1不可变数组通过自定义比较规则来比较字符串
NSArray *result= [array sortedArrayUsingFunction:myComparecontext:nil];
NSLog(@"%@\n",result);
//类提供compare方法不想改变数组顺序
[array sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@\n",array);
//2直接在数组内排序
[mutableArray sortUsingFunction:myCompare context:nil];
NSLog(@"%@\n",mutableArray);
}
return 0;
}