(一)Block简介:
什么是Block代码块呢?其实对于有java基础的人来说可以直接理解成为一个类的内部类,他可以在类里面定义和使用。这个语法是苹果官方非常推荐的一种语法,运行效率高。
(二)基本使用:
标识符:^
定义:int (^ myblock) (int a,int b);// int表示代码块的返回值,回调返回值--myblock表示名字--int a int b表示参数
void (^myblock)();//无返回值,无参数
block访问外部变量:
在block代码块里面可以访问外部的变量。
在block代码块中默认不能修改外部的变量值。
在block代码块中如需修改外部变量的值,则需在外部变量前加上 "__block"。
利用typedf来定义block类型,和指针有点像:
typedef int (^sum)(int ,int );//定义一个block的类型,返回值为int ,需要传入两个int类型的参数。
之后就可以使用这里类型来定义一个block了:
sum a=^(int c,int d){return c-d;};