iOS接下来要研究的知识点将来跳槽用iOS开发 Objective-C

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

2019-01-23  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读