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变量,初始化,然后调用