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

错误ID

ListViewController.m:135:10: Capturing 'self' strongly in this block is likely to lead to a retain cycle

开了ARC

    [_tableView setPullToRefreshHandler:^{
        [self dataDidRefresh:nil];
    }];
阅读 14.8k
2 个回答

你把self转换一下加上block字段之后就不会被retain了

__block ViewController *controller = self;
[_tableView setPullToRefreshHandler:^{
[controller dataDidRefresh:nil];
}];

新手上路,请多包涵

在ARC下不用__block 而是用 __weak 为了避免出现循环引用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏