停止方法iOS CGD 任务开始与结束

改章节是一篇关于停止方法的帖子

    尾末有demo地址

    1.在Controll中加上一个button

    

1
2
3
4
5
6
7
8
9
10
- ( void )viewDidLoad
{
     [super viewDidLoad];
     UIButton * tempButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
     [tempButton setFrame:CGRectMake(50, 50, 220, 40)];
     [tempButton setTitle:@ "ClickME"  forState:UIControlStateNormal];
     [tempButton addTarget:self action:@selector(clickButton) forControlEvents:UIControlEventTouchUpInside];
     [self.view addSubview:tempButton];
     // Do any additional setup after loading the view, typically from a nib.
}

    2.点击button,然后开始两个CGD任务。其中一个在A,1s后停止,停止时将任务B也停止。

    停止方法,cancel这个方法。

    每日一道理
青春是用意志的血滴和拼搏的汗水酿成的琼浆——历久弥香;青春是用不凋的希望和不灭的向往编织的彩虹——绚丽辉煌;青春是用永恒的执著和顽强的韧劲筑起的一道铜墙铁壁——固若金汤。

    

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
- ( void )clickButton
{
        
     __block UIView * tempView = [[UIView alloc] initWithFrame:CGRectMake(50, 100, 220, 30)];
     [tempView setBackgroundColor:[UIColor grayColor]];
     [self.view addSubview:tempView];
     [tempView release];
        
     __block  BOOL  cancel = NO;
     //点击以后就会开始行执这个方法
     dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
     dispatch_async(queue, ^{
         int  i = 0;
         while  (i < 1000000000 && cancel == NO) {
             i++;
         }
         NSLog(@ "Task end: i = %d" , i);
         //这个不会行执,因为在之前,gcd task经已结束
         [tempView removeFromSuperview];
     });
        
     //1s 以后行执这个方法
     double  delayInSeconds = 1.0;
     dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
     dispatch_after(popTime, dispatch_get_main_queue(), ^( void ){
         NSLog(@ "A GCD Task Start" );
         cancel = YES;
         [tempView setBackgroundColor:[UIColor blackColor]];
     });
}

    3.行运结果

    

1
2
2013-05-08 19:38:35.730 BlockAsync[1880:11303] A GCD Task Start
2013-05-08 19:38:35.732 BlockAsync[1880:12303] Task end: i = 403577657

    Demo:http://download.csdn.net/detail/take8619702/5345809

文章结束给大家分享下程序员的一些笑话语录: 手机终究会变成PC,所以ip会比wm更加畅销,但是有一天手机强大到一定程度了就会发现只有wm的支持才能完美享受。就好比树和草,草长得再高也是草,时间到了条件成熟了树就会窜天高了。www.ishuo.cn

你可能感兴趣的:(ios)