Block

来源:互联网 发布:小白软件管家 编辑:程序博客网 时间:2024/06/16 14:24

Block封装了一段代码,可以在任何时候执行

Block 可以作为函数参数 或者 函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline(内联函数)的,并且默认情况下它对局部变量是只读的

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


语法 :  int (^sum) = ^(int a,int b){

               return a+b;

              };

调用 int c = sum(1,2);


block可以访问外部变量但不能修改,如果外部变量用_block 关键字 修饰(_block int a;)那么在bloc内部就可以修改这个变量。





0 0
原创粉丝点击