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. };  
posted @ 2015-04-28 16:37  天牛  阅读(353)  评论(0编辑  收藏  举报