iOS 防止循环引用的两个方法

来源:互联网 发布:mac播放蓝光原盘 编辑:程序博客网 时间:2024/06/06 12:23
    __block UITableViewController *weakself  = self;    [self.tableView addJElasticPullToRefreshViewWithActionHandler:^{        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{            //请求好数据,停止刷新            [weakself.tableView stopLoading];        });    }LoadingView:loadingViewCircle];

以上代码中 存在于UITableViewController 中 self拥有tableView这样一个成员变量(废话)
在此block块中, 我们要针对 self.tableview 调用停止刷新方法
这样 难免会出现循环引用的问题


__weak __typeof(self)weakSelf = self;

或者

__block UITableViewController *weakself = self;

这两方法都可以 至少不报错

就是不知道第二个方法 定义一新的UITableviewController 会不会产生一个新的UITabviewController (感觉应该不会 ,这里没用 alloc init 方法调用)

1 0
原创粉丝点击