iOS DevelopmentiOS点点滴滴

block截获局部变量

2018-02-27  本文已影响15人  ch12342

    id arr = [[NSMutableArrayalloc]init];

    void(^block) (void) = ^(){

        [arraddObject:@"1"];

    };

    block();

//这样,只是使用arr是没有问题的.

    id arr = [[NSMutableArrayalloc]init];

    void(^block) (void) = ^(){

        arr = [[NSMutableArray alloc] init];

    };

    block();

//会报错,Variable is not assignable (missing __block type specifier),因为这时候,block内部对arr进行了赋值

上一篇下一篇

猜你喜欢

热点阅读