8.block中使用self的循环引用问题
来源:互联网 发布:代理服务器软件下载 编辑:程序博客网 时间:2024/05/30 04:07
在视图控制器中的一段block中使用self时,例如赋给delegate等,这种情况会造成循环引用,这样该视图控制器无法得到释放。解决方法是在block中声明self为弱引用,以下是两种声明为弱引用的方法:
__unsafe_unretained NJShareViewController *unsafeSelf = self; __weak NJShareViewController *unsafeSelf = self;// __weak 当对象释放之后会自动设置为nil, 而__unsafe_unretained不会
还有一种声明方法,可以动态检查self的类型进行声明,比较通用:
__weak typeof(self) unsafeSelf = self;// typeof(int) a = 10; // == int a = 10;
通过以上几种方法就可以解决block中循环引用问题,从而避免对象无法得到释放。
0 0
- 8.block中使用self的循环引用问题
- iOS 解决block中self的循环引用问题
- block内self的循环引用的问题
- block里使用self引起循环引用的研究
- Objective-c中block使用时的循环引用问题
- block里的self,避免循环引用
- block 中循环引用的问题
- iOS中Block的循环引用问题
- iOS中block的循环引用问题
- 为什么系统的block,AFN网络请求的block内使用self不会造成循环引用?
- 关于IOS,多线程Block中的self循环引用问题!
- block 循环引用的问题
- Block的循环引用问题
- Block的循环引用问题
- block的循环引用问题
- Block的循环引用问题
- Block的引用循环问题
- block循环引用的问题
- C#Winform里的async和await异步
- 彩色图像分割方法的汇总
- 擦亮双眼,走出精明网贷投资的第一步
- Java 7之多线程第1篇 - 线程的状态转换
- tac命令以及各种linux文件查看命令
- 8.block中使用self的循环引用问题
- handlebars-----each嵌套
- ubuntu wireshark可能碰到的问题
- 机械臂运动学入门(三)
- js处理文章内容匹配关键词,关键词高亮显示效果的实现
- JavaWeb中的四大域对象
- saveas同步保存图片缩略图
- 删除模式串中出现的字符
- Xcode 6 打包ipa文件