092.Block And Var 块中修改局部变量

来源:互联网 发布:流程设计软件 编辑:程序博客网 时间:2024/06/18 13:32
---------------  main.m  ---------------
#import <Foundation/Foundation.h>

int main()
{
   
 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的值会再次被修改。
0 0
原创粉丝点击