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;