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 方法调用)
相关文章推荐
- ios开发如何提高
- [IOS/第三方登录]QQ第三方登录,登录成功没有回调问题
- iOS开发--统计自己的工程有多少行代码
- iOS开发——闪光灯
- IOS 解决证书失效的问题
- iOS开发经验总结
- iOS常用的一些库
- IOS CFBundleIdentifier
- iOS 开发中常见的BUG
- ios AVPlayer 缓冲、 暂停通知和海报帧
- iOS CoreLocation框架 定位
- iOS开发 ☞ Cornerstone (SVN)用法详解
- iOS之Cocoapods的安装和使用
- iOS应用中使用Toolbar工具栏方式切换视图的方法详解
- iOS开发之引用百度地图SDK(一)-----------SDK开发指南
- iOS开发——刮奖
- 【代码笔记】iOS-两个时间字符串的比较
- JS 与 iOS 交互
- iOS上传图片
- 关于用boundingRectWithSize计算label自适应高度那点事