oc的block

int (^sum)(int,int)=^(int a,int b){

return a+b;
}
这个是定义了一个block,前面的int是block返回的类型,sum是blok名字。^是block的标志

 

typedef int (^MySum)(int,int)
这是定义了一个2个整型参数的block类型,名字是MySum,我们就可以用这个MySum来定义新的block变量,然后将其实现

MySum sum=^(int a,int b){

return a+b

}

调用的时候用sum(a+b)
block是可以访问外面的局部变量。但是不可以修改,但是你在外面变量声明的时候用__block关键字进行声明一下,就可以修改这个变量
eg:__block int c;

 

posted @ 2014-03-19 09:40  离子  阅读(210)  评论(0编辑  收藏  举报