Block中的循环引用问题
来源:互联网 发布:voip软件电话 编辑:程序博客网 时间:2024/05/21 22:13
1 循环引用就是当self 拥有一个block的时候,在block 又调用self的方法。形成你中有我,我中有你,谁都无法将谁释放的困局。
解决办法:
__weak typeof (self) weakSelf = self;
如:@property(nonatomic, readwrite, copy) completionBlock completionBlock;//========================================__weak typeof(self) weakSelf = self;self.completionBlock = ^ { if (weakSelf.success) { weakSelf.success(weakSelf.responseData); }};
responseData 是self的另一个属性。
iOS block机制
block是一个代码块。在objc中通常使用block实现代理方法实现的功能,也就是回调。使用代理需要设置代理的数据接收者,而且代理方法是被分离开来处理的,block可以将这些分离的代码放到一个代码块中。
作用:
1.保存代码。一段代码在合适的时间执行(例如请求成功时弹出一个提示框)。
2.block一般用来两个的类的数据逆传递(例如修改昵称的时候)
3.block也可以将一个操作当做参数来传递
0 0
- Block中的循环引用问题
- Block实现原理与Block中的循环引用问题
- block循环引用问题
- block循环引用问题
- block循环引用问题
- Block循环引用问题
- block循环引用问题
- Block循环引用问题
- 多线程block中的循环引用
- 关于IOS,多线程Block中的self循环引用问题!
- ios block循环引用问题
- ios block循环引用问题
- block 循环引用的问题
- Block的循环引用问题
- ios block循环引用问题
- ios block循环引用问题
- Block的循环引用问题
- ios- block循环引用问题
- 出现次数最多的数
- spark1.6.0+Hadoop2.6.0+Scala-2.11.7 搭建分布式集群
- 2014年普级组模拟试题一 五香豆腐
- 10017---Managing Solr Search Configuration
- Java FileInputStream没有读取文件会发生什么情况
- Block中的循环引用问题
- Educational Codeforces Round 11---B-Seating On Bus
- URI 与 URL、URN
- Java中数据类型的传递
- 使用ucenter整合网站和discuz的同步登陆
- 画图
- Debugging native framework code of Android Java applications
- java 泛型
- Mac环境下为Python安装MySQLdb库时遇到的诸多问题