美文网首页iOS面试题
__block在arc和非arc下含义

__block在arc和非arc下含义

作者: natewang | 来源:发表于2015-08-01 12:41 被阅读3235次

    一般在block中修改变量都需要事先加__block进行修饰。
    在非arc中,__block修饰的变量的引用计算是不变的。
    在arc中,会引用到,并且计算+1;
    非arc下可使用(arc直接使用__weak即可)

    //非ARC
    __block typeof(self) weakSelf = self;
    self.myBlock = ^(int paramInt){ 
    //使用weakSelf访问self成员
     [weakSelf anotherFunc];
    };
    

    这样可以解决循环引用问题。

    相关文章

      网友评论

        本文标题:__block在arc和非arc下含义

        本文链接:https://www.haomeiwen.com/subject/usumqttx.html