黑马程序员技术交流社区

标题: block [打印本页]

作者: jsh_513    时间: 2015-9-18 21:40
标题: block
用来封装和在运行中保存代码,保证能随时随地调用内部代码,效率高。
定义:
1>        两个参数
int (^SumBlock) (int,int) = ^(int a,int b){
return a+b;//定义一个block类型变量,求和
}
2>        无参数
int (^SumBlock) () = ^(){
return 99;
}
3>        无参数省略
int (SumBlock) () = ^{
return 99;
}
4>        利用typedef定义block类型
typedef int (^MyBlock) (int,int);
5>        注意
int main()
{
    int a = 10;
    __block int b = 20;
   
    void (^block)();
    block = ^{
    // block内部可以访问外面的变量
    //NSLog(@"a = %d", a);
        
    // 默认情况下,block内部不能修改外面的局部变量
    // a = 20;
    // 给局部变量加上__block关键字,这个局部变量就可以在block内部修改
        b = 25;
    };
    block();
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2