iOS开发之在Block中修改外部变量值的

作者: 朱晓晓的技术博客 | 来源:发表于2019-01-23 16:28 被阅读9次
    - (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
    

    相关文章

      网友评论

        本文标题:iOS开发之在Block中修改外部变量值的

        本文链接:https://www.haomeiwen.com/subject/gkcsjqtx.html