美文网首页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