iOS 基础 -《代码块Block》

1.定义代码块

^返回值类型(参数1,参数2,…){
      //执行代码
};

2.代码块变量命名

返回值类型 (^ 块变量名)(参数1,参数2,…);
   如:void (^bb)(int a,int b);
    bb = ^(int a,int b){
    //执行代码
    };

eg.创建了一个SuccessBlock变量,—>void (^SuccessBlock)(NSString *a,int b);

3.代码块结合typedef 使用简略别名

typedef 返回值类型 (^ 块别名)(参数1,参数2,…);
typedef double(^doubleBlock) (int a,int b);  //定义了一个doubleBlock类型

eg. doubleBlock doubleVar;

//代码块赋值
doubleVar = ^double(int value1,int value2){
        return value1+value2;
    };
//代码块调用
doubleVar(3,4); —>会返回3+4的值

4.代码块修改外部变量

block块引用外面的局部变量,块会将变量拷贝为常量编辑到block块中
block要修改外部变量,则外部变量要使__block关键字修饰

eg,__block int var = 20;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注:这是第三遍读《C语言深度解剖》,想想好像自从大学开始就没读完过几本书,其中谭浩强的那本《C语言程序设计(第四版...
    HavenXie阅读 1,823评论 1 6
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,317评论 6 13
  • #Block ###Block概述 Block它是C语言级别和运行时方面的一个特征。Block封装了一段代码逻辑,...
    是我始终拒绝成长吗阅读 1,104评论 0 5
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,281评论 30 472
  • 画里卿吟慢 呓余风轻 红花在笑亦是哭 余阳暖身背 既无车马又无人 花开绿如故 小山是喜还是忧 秋爽染发梢 一杯酒 ...
    540b05b1417c阅读 206评论 0 1