OC语言-block要点总结

1.block的定义
block就是可重复使用的代码段,用来封装和保存代码,效率高,任何时候都可运行,是官方推荐的编程语法;
2.block格式说明
》类型 (^变量名称)(参数类型列表)=^(参数列表){代码体};
  1. void(^add)(int,int) = ^(int a,int b){
  2.         return  a+b;
  3.     };

block无形参,代码体的参数列表包括括号可以省略

  1. void(^doSth)() = ^{
  2. };
3.block的常用方法    
》block通常和typedef结合使用,声明block变量后,具体实现可以各自随意
  1. //定义一个block变量
  2. typedef int (^Add)(int, int);
  3. int main(int argc, const char * argv[])
  4. {
  5. //定义block实现
  6.     Add add = ^(int a,int b){
  7.         return  a+b;
  8.     };
4.block作用域相关
     》block函数内部可以访问外面局部变量,但不能修改
     》block函数内部可以访问和修改外面以__block修饰的变量

      int __block ct = 55;

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

           ct = 20;

           NSLog(@"BLOCK好强大!%d",ct);   

       };

posted @ 2014-12-18 18:00  M了个WX  阅读(109)  评论(0)    收藏  举报