1. block 是 oc 特有的一种数据类型(数据类型:定义变量,做行参,做返回值,需要声明和初始化)
2. 功能与函数类似,用于保存一段代码,实现一个功能 (需要调用)
3. 可以有返回值,有参数
需要声明,初始化,调用
4. 书写格式:
void (^ sumblock)(int , int); // 返回值类型 block 变量名称 形式参数
(声明) void (^ sumblock)(int , int);
(初始化) sumblock=^{nslog(***)};
(调用) sumblock(10,20);
5,为了简化书写,利用了类型重定义(别名)
typedef int (^sumblock)(int , int); (^sumblock)是 block 类型(同 int),以后利用类型+变量名就可以使用
sumblock sumblock=^(return a+b); 定义一个 block 类型变量,初始化,然后调用(调用的时候用变量名,然后传入参数就行)
类型 变量名 初始化
定义一个 int 变量,并且初始化 定义一个 block 变量,初始化,然后调用
来源: http://www.bubuko.com/infodetail-2475231.html