OC中的block数据类型


1. Block封装了一段代码,可以在任何时候执行。官方建议尽量多用block。

2. 如何定义block变量

   int (^sumBlock)(int, int);

   void (^myBlock)();

3. 如何利用block封装代码

   ^(int a, int b) {

         return a- b;

    };

4. block访问外面变量

   1) block内部可以访问外面的变量

   2) 默认情况下,block内部不能修改外面的局部变量

   3) 给局部变量加上__block关键字,这个局部变量就可以在block内部修改

5. 利用typedef定义block类型

   typedef int (^MyBlock)(int, int);

   MyBlock b1;

   b1 = ^(int a, int b) {

       return a - b;

   };

6. block调用方法(以5中定义的b1为例)

   b1(1, 2);


posted @ 2014-08-14 23:09  coderkl  阅读(199)  评论(0编辑  收藏  举报