简单的函数回调
ios里 函数回调 一般有3种方法:委托,block,消息通知。觉得block 最不好理解 记下些东西,方便查阅。
block 可以作为变量传递的函数 或对象,闭包(偶的理解)
定义:
return_type (^block_name)(param_type, param_type, ...)
如:void (^blockTest)()=^(){};定义了一个参数为空 返回空的block blockTest;//参数为空时后面的()可以省略。
int (^blockTestAdd)(int a,int b)=^(int a,int b){return a+b};
用法:
作函数用:int c=blockTestAdd(1,2);
做变量:-(void)testAdd:(int)a andBlock:(int(^)(int c,int b))blockTe
{
NSLog(@"r=%d",a+blockTe(c,b));//回调函数
}
注意:在block里 修改block外的变量 需要在定义变量时前边加__(两个_);
浙公网安备 33010602011771号