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

本文转载至 http://blog.csdn.net/cerastes/article/details/38047355

retain cyclestronglyblockwarning

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

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

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. _items = [[NSMutableArray alloc] init];    
  2.     _block = ^{    
  3.         [_items addObject:@"Hello!"]; //_block引用了_items,导致retain cycle。    
  4.     };   

写成下面格式
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. __block ViewController *blockSelf = self;    
  2. _block = ^{    
  3.     [blockSelf->_items addObject:@"Hello!"];    
  4. };  
原文地址:https://www.cnblogs.com/Camier-myNiuer/p/4463392.html