现在的位置: 首页 > 综合 > 正文

capturing self strongly in this block is likely to lead to a retain cycle

2018年02月03日 ⁄ 综合 ⁄ 共 307字 ⁄ 字号 评论关闭

一个使用Block语法的实例变量,在引用另一个实例变量的时候,经常会引起retain cycle。

capturing self strongly in this block is likely to lead to a retain cycle

_items = [[NSMutableArray alloc] init];  
    _block = ^{  
        [_items addObject:@"Hello!"]; //_block引用了_items,导致retain cycle。  
    }; 

写成下面格式

__block ViewController *blockSelf = self;  
_block = ^{  
    [blockSelf->_items addObject:@"Hello!"];  
};

抱歉!评论已关闭.