---------------
main.m
---------------
#import
<Foundation/Foundation.h>
int
main()
{
int a = 20;
__block int b = 20;
void (^printMy)(void) = ^(void)
{
int a = 20;
__block int b = 20;
void (^printMy)(void) = ^(void)
{
// a = 30; // 不能修改外面的局部变量
b =
30;
// 可以修改外面的局部变量
NSLog(@"a:%d , b:%d",
a , b);
};
a =
45; // 修改a的值
b =
45; //
修改b的值
printMy();
// 修改b的值
NSLog(@"a:%d,
b:%d", a , b);
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.局部变量用__block修饰过之后,就可以在块中直接访问且修改这个局部变量的值了。
2.上面代码的倒数第二句中,局部变量b的值会再次被修改。