block块中引用成员变量引起内存泄漏问题
来源:互联网 发布:淘宝客为什么要用软件 编辑:程序博客网 时间:2024/06/05 05:19
block块中引用成员变量引起内存泄漏问题
使用block要注意循环引用,因此在块中使用self前先使用__weak修饰生产弱引用
这里记录另一种情况:没有使用属性而是直接使用成员变量的时候
// 私有成员变量@implementation SmartInfoViewController{ UIColor *lightColor;
BOOL _isLoading;}// 在块中直接使用lightColor会造成retain cycleself.colBlock = ^(UIColor *col) { lightColor = col; // 等价于 self->lightColor = col;;
// 使用前先生成弱引用 __weak typeof(self) ws = self;paint.colBlock = ^(UIColor *col) { // 必须在内部__strong强引用 __strong typeof(ws) ss = ws; ss -> lightColor = col;};
上边介绍的成员变量是对象类型的,如果是基础数据类型的怎么办?
// 通过创建一个方法,然后再调用
paint.colBlock = ^(UIColor *col) { [ws resetIsLoading];};-(void)resetIsLoading{
_isLoaing = NO;}
阅读全文
0 0
- block块中引用成员变量引起内存泄漏问题
- Block 代码块中循环引用问题
- FlashBuilder引用Flash导出的SWC引起内存泄漏问题
- oc block 中直接引用成员变量 循环引用
- IOS Block循环引用的内存泄漏问题
- block:解决成员变量的循环引用的问题
- block:解决成员变量的循环引用的问题
- java集合中HashSet引起的内存泄漏问题
- 关于Android中Handler引起内存泄漏问题
- stl中string作为成员变量引起的core问题
- stl中string作为成员变量引起的core问题
- 内存泄漏检测工具和Handler引起的内存泄漏问题
- [iOS] dataWithBytes*引起的内存泄漏问题
- 关于深入研究block 出现循环引用的问题和内存泄漏
- iOS block代码块强引用问题
- weak_ptr解决shared_ptr环状引用所引起的内存泄漏
- weak_ptr解决shared_ptr环状引用所引起的内存泄漏
- weak_ptr解决shared_ptr环状引用所引起的内存泄漏
- Redis 事务
- TCP/IP
- mysql事务隔离级别 脏读,不可重复读,幻象读
- jquery异步机制源码分析
- 1013. Image Segmentation (35)解题报告
- block块中引用成员变量引起内存泄漏问题
- 【51Nod1227】平均最小公倍数-杜教筛
- Mac 安装docker
- docker安装ubuntu14.04 免登录dockerfile版
- redis基础入门-redis系列教程
- Python中的join()函数的用法
- 3个著名加密算法(MD5、RSA、DES)的解析
- anaconda3 安装python包
- 设计模式--缺省适配器模式