---------------
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的值会再次被修改。