您的位置:首页 > 移动开发 > IOS开发

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

2016-04-21 10:28 357 查看
__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 方法调用)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: