简单的函数回调

ios里 函数回调 一般有3种方法:委托,block,消息通知。觉得block 最不好理解 记下些东西,方便查阅。

block   可以作为变量传递的函数 或对象,闭包(偶的理解)

这里是ios文档

定义:

  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外的变量 需要在定义变量时前边加__(两个_);   

 

 

posted on 2012-11-13 22:39  千手人屠  阅读(162)  评论(0)    收藏  举报

导航