block作用

来源:互联网 发布:大数据的主要来源 编辑:程序博客网 时间:2024/04/30 00:59

1.可以像调用函数那样使用block,但区别在于block可以定义在方法内。也可以把块赋给变量,像使用其他变量那样使用它。

2.在声明块的范围里,所有变量都可以为其所捕获,这是Block的强大之处。如:

 int add = 5;    // 定义块    int (^addBlock)(int a , int b) = ^(int a , int b) {        return a + b + add; // 使用了定义块之外的变量    };    int result = addBlock(1 , 2);

但注意,默认情况下,为块所捕获的变量,是不可以在块内修改的。除非,在声明变量的时候加上 __block修饰符。如

int __block add = 5;

3.可以实现控制器间的传值

0 0