iOS在Block中修改外部变量值的实现代码
时间:2021-06-12 08:18:14|栏目:iOS代码|点击: 次
一,代码。
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 第一种是可以修改 static 全局变量;第二种是可以修改用新关键字 __block 修饰的变量。 __block int blockLocal = 100; static int staticLocal = 100; void (^aBlock)(void) = ^(void){ blockLocal++; staticLocal++; }; NSLog(@"----blockLocal--%d",blockLocal); NSLog(@"---staticLocal--%d",staticLocal); aBlock(); NSLog(@"----blockLocal--%d",blockLocal); NSLog(@"---staticLocal--%d",staticLocal); }
二,输出。
2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ----blockLocal--100 2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ---staticLocal--100 2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ----blockLocal--101 2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ---staticLocal--101
总结