block排序方法
来源:互联网 发布:数据透视表在哪 编辑:程序博客网 时间:2024/05/23 22:15
<span style="font-family:Tahoma;font-size:14px;"><pre name="code" class="objc">namesArray = [namesArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { if ([obj1 compare:obj2] == NSOrderedAscending) { // 原本升序 NSOrderedDescending 代表降序 return 1l; } return 0; }]; NSLog(@"%@", namesArray); // 可变数组排序,使用的排序方法,没有返回值 NSMutableArray *numbersArray = [NSMutableArray arrayWithObjects:@"123", @"345", @"234", @"56", @"2356", nil]; [numbersArray sortUsingComparator:^NSComparisonResult(id obj1, id obj2) { if ([obj1 intValue] < [obj2 intValue]) { return 1l; } return 0; }]; NSLog(@"%@", numbersArray);</span>
//系统排序方法
<span style="font-family:Tahoma;font-size:14px;">typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending}; - (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr NS_AVAILABLE(10_6, 4_0); - (void)sortUsingComparator:(NSComparator)cmptr NS_AVAILABLE(10_6, 4_0);</span>
<span style="font-family:Tahoma;font-size:14px;">// 数组怎么用block排序 NSArray *namesArray = @[@"daozhang", @"baoge", @"fage", @"yangyang", @"gege", @"qiqi"]; NSComparisonResult (^sortBlock) (id, id) = ^(id obj1, id obj2) { return [obj1 compare:obj2]; }; // 使用block进行排序 namesArray = [namesArray sortedArrayUsingComparator:sortBlock]; NSLog(@"%@", namesArray);</span>
对类的对象进行排序
<span style="font-family:Tahoma;font-size:14px;">Student *stu1 = [Student StudentWithnum:1001 name:@"Yadong" age:23 score:99.8]; Student *stu2 = [Student StudentWithnum:1002 name:@"Yadong" age:26 score:98.8]; Student *stu3 = [Student StudentWithnum:1003 name:@"Yadong" age:43 score:95.8]; Student *stu4 = [Student StudentWithnum:1004 name:@"Yadong" age:83 score:97.8]; Student *stu5 = [Student StudentWithnum:1005 name:@"Yadong" age:13 score:79.8]; NSMutableArray *studentArray = [NSMutableArray arrayWithObjects:stu1, stu2, stu3, stu4, stu5, nil]; // 按照年龄,从小到大排序 [studentArray sortUsingComparator:^NSComparisonResult(id obj1, id obj2) { Student *s1 = obj1; Student *s2 = obj2; if (s1.age > s2.age) { return 1l; } // if ([obj1 age] < [obj2 age]) {// return 1l;// } return 0; }]; NSLog(@"%@", studentArray);</span>
0 0
- block排序方法
- block与方法 排序各个国家的名称
- block 排序
- 排序,block,降序排序
- Block 方法
- block排序数组内容
- Block,多态,数组排序
- 6、Block,数组排序
- NSArray 数组排序 block
- Objective-c - block作为方法的参数:字符串数组的排序
- Alert Block方法.
- mjRefurbish block方法
- NSTimer 的block方法
- 7、block、数组排序2
- Objective-C----Block 、数组排序
- day6: Block、数组高级:Block语法、Block使用、Block实现数组排序
- Block、数组高级:Block语法、Block使用、Block实现数组排序
- 封装排序专题,按姓名排序,年龄排序,Block排序
- 随机数发生器&绘制文字-----学习记录(6)
- android控件的对齐方式(转)
- 递归方法从m个元素中取出n个元素的算法 ------分析
- iOS项目打包
- WP10时光倒退
- block排序方法
- BroadCastReceiver简介
- Foundation——常用结构体,包装类,日期类
- 在Android里用SAX方式解析XML文件
- Foundation——集合
- 高效工作---高效利用快捷键实现截图与画图
- 黑马程序员——面向对象
- JavaScript使用小技巧
- a标签包裹button在IE6,IE7下的bug