默认情况下,在block中访问的外部变量是复制过去的,即:写操作不对原变量生效。但是你可以加上__block来让其写操作生效,示例代码如下:
1
2
3
4
5
6
|
__block int a = 0;
void (^foo)(void) = ^{
a = 1;
}
f00();
//这里,a的值被修改为1
|