一,block的定义

//申明变量
(void)(^PrintStr)(void); //定义
PrintStr=^{
NSLog(@"PrintStr");
}; //调用
PrintStr();

二,修改block之外的变量
block程序块中的变量不对程序块外生效,可以加上_block让其生效。

int a=0;
void (^foo)(void)=^{
a=1;
}
//foo()中a的值为0
foo(); __block int a=0;
void (^foo)(void)=^{
a=1;
}
//foo()中a的值被修改为1
foo();

参考资料:
http://www.devtang.com/blog/2012/02/22/use-gcd/