一,代码。

复制代码
- (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

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!