默认情况下,在程序块中访问的外部变量是复制过去的,即写操作不对原变量生效。但是你可以加上 __block来让其写操作生效,示例代码如下:
1 2 3 4 5 6
__block int a = 0; void (^foo)(void) = ^{ a = 1; } foo(); // 这里,a的值被修改为1
posted on 2014-12-05 16:04 Jason_Luo 阅读(164) 评论(0) 收藏 举报
博客园 © 2004-2025 浙公网安备 33010602011771号 浙ICP备2021040463号-3