首页 > 代码库 > Block的使用

Block的使用

1、Block封装了一段代码,可以在任何时候执行。[俗称代码块、代码段]

2、Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。

3、苹果官方建议尽量多用Block。在多线程、异步任务、集合遍历、集合排序、动画转场用的很多

 /*

     block用来保存一段代码

     block的标志:^

     block跟函数很像:

     1、可以保存代码

     2、有返回值

     3、有形参

     4、调用方式一样

     */

    //定义block变量

/*没有形参,括号可以省略

    void (^myblock)() = ^(){

        NSLog(@"------9999---");

    };

    */

    void (^myblock)() = ^{

        NSLog(@"------9999---");

    };

    

    //利用block变量调用block内部的代码

    myblock();

 

    int (^sumblock)(intint) = ^(int a, int b){

        return a + b;

    };

    

    int c = sumblock(10,11);

    NSLog(@"%d",c);

    

    //block输出n条横线

    

    void (^lineblock)(int) = ^(int n){

        for(int i=0; i<n; i++){

            NSLog(@"-------------");

        }

    };

    

    lineblock(5);

Block的使用