默认情况下,在程序块中访问的外部变量是复制过去的,即写操作不对原变量生效。但是你可以加上 __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 阅读(159) 评论(0) 编辑 收藏 举报
Powered by: 博客园 Copyright © 2024 Jason_Luo Powered by .NET 8.0 on Kubernetes