1. 程式人生 > >【程式碼筆記】iOS-在Block中修改外部變數值的

【程式碼筆記】iOS-在Block中修改外部變數值的

一,程式碼。

複製程式碼
- (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