IOS block

来源:互联网 发布:多益网络 收入 编辑:程序博客网 时间:2024/06/08 18:43


@implementation ViewController


- (void)viewDidLoad

{

    [superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

    NSLog(@"我在完手机");

    NSLog(@"手机没电了");

    //调用手机充电方法,块内容为回调代码。

    [selfchargeMyiPhone:^{

        NSLog(@"出去逛街");

    }];

    NSLog(@"我在看电视");

}

/*!

 *  给手机充电方法

 *

 *  @param finishBlock 充电完成后的回调方法:void表示返回类型为void,(^)表示块类型,(void)表示无参数,finishBlock就是块的名字,理解为实参

 *

 *  @since V1.0

 */

-(void)chargeMyiPhone:(void(^)(void))finishBlock

{

    double delayInSeconds =10.0;

    dispatch_time_t popTime =dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds *NSEC_PER_SEC));

    //10秒后调用

    dispatch_after(popTime,dispatch_get_main_queue(), ^(void){

        NSLog(@"充好电了");

        finishBlock();

    });

}


0 0
原创粉丝点击