我们可以使用typedef为block进行一次重命名,方法跟为函数指针进行重命名是一样的:
typedef int (^Sum ) (int ,int);
这样我们就利用typedef定义了一个block,这个block的名字就是Sum,需要传入两个参数。当我们需要使用时,就可以这样做了:
sum mysum = ^(int a,int b) {n = 2; return (a+b)*n;}
在项目中可能需要这样做
@property (nonatomic,strong)Sum mysum;
当在两个View之间需要进行交互时,就对这个属性进行赋值。
这样就完整的定义好了一个block了。我们也可以理解为对block 赋值而已。例如在项目代码中可以看到一个ViewController 对一个自定义view 调用。在定义View当中声明这么一个block 类型属性。在Viewcontroller 中对这个block 进行赋值。这样就可以在两个类(View 和Controller)实现交互了,实际上还是一个viewcontroller的连个View。