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