码迷,mamicode.com
首页 > 编程语言 > 详细

使用块代码实现数组排序和乱序

时间:2015-04-04 01:12:28      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

 1 #import "HMViewController.h"
 2 
 3 @interface HMViewController ()
 4 
 5 @end
 6 
 7 @implementation HMViewController
 8 
 9 - (void)viewDidLoad
10 {
11     [super viewDidLoad];
12     
13     // 块代码
14     NSArray *array = @[@(1), @(2), @(3), @(4), @(5)];
15     
16     // 排序
17     array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {
18 
19         // 乱序=>一会升序,一会降序
20         // 随机
21 //        arc4random_uniform(10) => 0~9之间的随机数
22         int seed = arc4random_uniform(2);
23         if (seed) {
24             return [num1 compare:num2];
25         } else {
26             return [num2 compare:num1];
27         }
28     }];
29     
30     NSLog(@"%@", array);
31 }
32 
33 - (void)sortWith:(NSArray *)array
34 {
35     // 排序
36     array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {
37         
38         /**
39          1 4 5 2
40          4 1 5 2
41          4 1 5 2
42          5 4 1 2
43          5 4 1 2
44          5 4 2 1
45          */
46         NSLog(@"%@ %@", num1, num2);
47         
48         // 升序
49         //        return [num1 compare:num2];
50         // 降序
51         return [num2 compare:num1];
52     }];
53     
54     NSLog(@"%@", array);
55 }
56 
57 - (void)arrayWith:(NSArray *)array
58 {
59     int i = 0;
60     for (NSNumber *num in array) {
61         NSLog(@"%@", num);
62         
63         if (i == 1) {
64             break;
65         }
66         i++;
67     }
68     
69     // 参数:对象,索引,是否中断
70     // 数组的块方法遍历的效率比for in高
71     [array enumerateObjectsUsingBlock:^(NSNumber *obj, NSUInteger idx, BOOL *stop) {
72         NSLog(@"%@", obj);
73         
74         // idx == 1 退出循环
75         if (idx == 1) {
76             *stop = YES;
77         }
78     }];
79 }
80 
81 @end

 

使用块代码实现数组排序和乱序

标签:

原文地址:http://www.cnblogs.com/liqiantu/p/4391295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!