iOS中block浅谈

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。

你可能感兴趣的:(block)