黑马程序员技术交流社区

标题: block要点总结 [打印本页]

作者: yuanlingqi    时间: 2014-11-9 22:52
标题: 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修饰的变量
  1. int __block ct = 55;
  2.     void(^myblock)()=^(){
  3.         ct = 20;
  4.         NSLog(@"BLOCK好强大!%d",ct);
  5.     };
复制代码







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