strong 和 weak 的区别
2015-07-31 11:21
183 查看
strong 和 weak 指针的区别
(weak和strong)不同的是
当一个对象不再有strong类型的指针指向它的时候
它会被释放 ,即使还有weak型指针指向它。
一旦最后一个strong型指针离去
,这个对象将被释放,所有剩余的weak型指针都将被清除。
可能有个例子形容是妥当的。
想象我们的对象是一条狗,狗想要跑掉(被释放)。
strong型指针就像是栓住的狗。只要你用牵绳挂住狗,狗就不会跑掉。如果有5个人牵着一条狗(5个strong型指针指向1个对象),除非5个牵绳都脱落
,否着狗是不会跑掉的。
weak型指针就像是一个小孩指着狗喊到:“看!一只狗在那”
只要狗一直被栓着,小孩就能看到狗,(weak指针)会一直指向它。只要狗的牵绳脱落,狗就会跑掉,不管有多少小孩在看着它。
只要最后一个strong型指针不再指向对象,那么对象就会被释放,同时所有的weak型指针都将会被清除。
(weak和strong)不同的是
当一个对象不再有strong类型的指针指向它的时候
它会被释放 ,即使还有weak型指针指向它。
一旦最后一个strong型指针离去
,这个对象将被释放,所有剩余的weak型指针都将被清除。
可能有个例子形容是妥当的。
想象我们的对象是一条狗,狗想要跑掉(被释放)。
strong型指针就像是栓住的狗。只要你用牵绳挂住狗,狗就不会跑掉。如果有5个人牵着一条狗(5个strong型指针指向1个对象),除非5个牵绳都脱落
,否着狗是不会跑掉的。
weak型指针就像是一个小孩指着狗喊到:“看!一只狗在那”
只要狗一直被栓着,小孩就能看到狗,(weak指针)会一直指向它。只要狗的牵绳脱落,狗就会跑掉,不管有多少小孩在看着它。
只要最后一个strong型指针不再指向对象,那么对象就会被释放,同时所有的weak型指针都将会被清除。
相关文章推荐
- bc第六场Goffi and Squary Partition
- Android之——Surface、SurfaceView与SurfaceHolder.Callback初探
- android杂记5:Android Support Library
- SqlServer中quotename用法与实例
- JS模块化编程
- Remove Duplicates from Sorted List II
- dom
- 使用 NIO.2 遍历目录下所有的Java文件
- 阿拉伯数字转为中文读法
- 微信二维码1-服务号推广(将网页存储为图片存储到服务器)
- linux 下的top 、free的性能分析详解
- 欢迎使用CSDN-markdown编辑器
- vsix无法打开的问题
- apache 开启zgip 压缩模式
- thinkphp
- JS 页面加载触发事件 document.ready和onload的区别
- WCF 配置文件
- 7、8上的cell上的一个按钮,当点击按钮时,要拿到这个cell,可以用代理,也可以用superview
- AutoMapper使用
- EBP详解