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