关于NSArray的排序问题

来源:互联网 发布:mc9s12x 串口编程 编辑:程序博客网 时间:2024/05/01 12:46

转的:

http://hi.baidu.com/popln/blog/item/4b16c3ae918df0d97cd92ae3.html

http://tr4work.blog.163.com/blog/static/1371493142011419115623266/


NSMutableArray自带了一些排序的方法,今天和大家分享一个我使用最多的,感觉也是很方便的排序方法。


NSInteger sortByID(id obj1, id obj2, void *context){

    NSString *str1 =(NSString*) obj1; // ibj1   obj2 来自与你的数组中,其实,个人觉得是苹果自己实现了一个冒泡排序给大家使用

    NSString *str2 =(NSString *) obj2;

    

    if (str1.length < str2.length) {

return NSOrderedDescending;

}

else if(str1.length == str2.length)

{

return NSOrderedSame;

}

return NSOrderedAscending;

    

    

}


+(NSArray *)SortMutableArr:(NSMutableArray *)arr{

NSArray *sortedArray =[arr sortedArrayUsingFunction:sortByID context:nil];

return sortedArray;

}


//arr 为需要排序的数组, 返回一个排序完成的数组  在执行 SortMutableArr:方法时, 会自动调用上面的sortByID方法,并且,可以安装你的需要对各种对象和规则进行排序,很方便

原创粉丝点击