博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何解除循环引用
阅读量:5213 次
发布时间:2019-06-14

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

定义block的时候,会对外部变量做一次copy,会对self进行强引用

1.__weak是ios 5.0 推出的

 __weak 相当于weak 本身是弱引用,但是如果对象被释放,执行的地址会指向nil 更安全

__weak typeof(self) weakSelf = self;

2__unsafe_unretained 是ios4.0 推出的,相当于assign,不会做强引用,但是日过对象被释放,内存地址保持不变,如果此时在调用,快就会出现野指针错误 MRC经典错误,EXC_BAD_ACCESS

__unsafe_unretained typeof(self) weakSelf = self;

3.__weak typeof(self) weakSelf = self; __strong typeof(self) strongSelf  = weakSelf; strongSelf 强引用,对weakSelf 进行强引用,本意,希望在异步完成后,继续执行回调代码   开发中有人会用这种代码,认识就好!

转载于:https://www.cnblogs.com/Jusive/p/5081303.html

你可能感兴趣的文章
物理综合:关于insert_scan
查看>>
phpmailer【PHP邮件】的用法
查看>>
Lucene入门简介
查看>>
开发环境、生产环境、测试环境的基本理解和区别
查看>>
【科研论文】W5100在远程电力质量监测设备中的应用
查看>>
一步一步写miscdevice的驱动模块
查看>>
小小的蜗牛有大大的梦想
查看>>
c# 获取键盘的输入
查看>>
svn diff 详解
查看>>
HDU 1548 A strange lift(简单BFS)
查看>>
Ubuntu下gcc安装及使用
查看>>
最短路算法 (bellman-Ford算法)
查看>>
Ubuntu 16.04安装Kate文本编辑工具
查看>>
活着与生存
查看>>
迅雷极速版|xunlei下载
查看>>
一位ACMer过来人的心得【转】
查看>>
POJ 1730 Perfect Pth Powers (分解素因子)
查看>>
时间复杂度与空间复杂度
查看>>
Ubuntu火狐、Chromium等浏览器安装flash插件
查看>>
asp.net 权限问题
查看>>