博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
__weak typeof(self) weakSelf = self;
阅读量:6238 次
发布时间:2019-06-22

本文共 647 字,大约阅读时间需要 2 分钟。

hot3.png

block对于其变量都会形成strong reference(强引用),对self也会形成strong reference,而如果self本身对block也是 strong reference 的话,就会形成 strong reference 循环,造成内存泄露。为了防止这种情况发生,在block外部应该创建一个week(__block) reference(弱引用类型)。

所以在block内如果有self的话,一般都会在block外面加一句_block typeof(self)  bself = self;

例如:

__weak typeof(self) weakSelf    = self;[weakSelf addLegendFooterWithRefreshingBlock:^{    //do something     [weakSelf.footer endRefreshing];}

//参考网址:

// AFNetworking的写法__weak __typeof(&*self)weakSelf = self;// 我的写法__weak __typeof(self) weakSelf = self;// 或者这么写__weak XxxViewController *weakSelf = self;// 或者这么写__weak id weakSelf = self;

转载于:https://my.oschina.net/u/2312022/blog/425285

你可能感兴趣的文章
利用wget 和队列 模拟网络爬虫 (不带判重程序)
查看>>
从零开始学习Gradle之三---多项目构建
查看>>
年轻人的自我自救:你有没有勇气输得起?
查看>>
cisco *** client 自动重拨
查看>>
1218直播节,花椒与北京卫视会密谋什么新局?
查看>>
Android 调用手机自带的下载器下载
查看>>
我的友情链接
查看>>
阿里巴巴的微服务开源之路
查看>>
思科交换机 flow control 交换机流控
查看>>
中国联通与阿里云达成合作,推动5G+新媒体产业发展
查看>>
项目风险应对策略总结
查看>>
安装memcached+nginx+php+memadmin笔记
查看>>
JavaScript 实现反射机制
查看>>
postfix-tls加密
查看>>
软件测试面试-必掌握的 Linux常用命令大全--2.0更新版!
查看>>
结构体嵌套二级指针
查看>>
自定义密码输入框,集成化的支付弹框
查看>>
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
查看>>
Linux中Samba服务器的搭建
查看>>
iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态
查看>>