A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yuanlingqi 中级黑马   /  2014-11-9 22:52  /  689 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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.     };
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马