iOS中为了方便两个类之间传值,推出了类似C语言函数的Block。
block的使用和函数类似,主要分三步:
第一步,block的定义:
void (^block1)();//无参数、无返回值
void (^block2)(int a);//有参数、无返回值
int (^block3)(int a,,int b);//有参数、有返回值
第二步,block的实现:
block1 = ^(){
};
block2 = ^(int a){
};
block3 = ^(int a,int b){
return a+b;
};
第三步,block的调用:
block1();
block2(2); //2为参数
block3(4,5);//4、5为参数, sum 为返回值
注意:block由于使用在两个类之间调用,需要放在堆区,block不属于对象,所以要用copy。