iOS中代理属性为什么要用Weak修饰?
来源:互联网 发布:黑马程序员就业班考试 编辑:程序博客网 时间:2024/04/29 16:14
每个对象的创建都需要在内存中分配一定的空间,简单的说,因为内存是有限的,所以一些没有必要存在的对象,我们需要及时的去将它释放,还原更多的内存空间(如果不进行释放就会造成”内存泄露”).
因此,在iOS中引入了引用计数(retainCount)这个词汇,规定:只要引用计数为零,对象就会被释放,.
strong属性会使引用计数+1,而weak修饰的对象不会使引用计数改变.
如果定义代理为weak的话,在程序运行的时候不会造成循环引用,对象都会被顺利的销毁.
如果定义代理为weak的话,在程序运行的时候会造成循环引用(意思就是reatainCount不为0,只要有实线引用,计数器就+1),对象都不会的销毁,不会调用delloc方法,从而造成了内存泄露的问题
1 0
- iOS中代理属性为什么要用Weak修饰?
- iOS中代理属性为什么要用Weak修饰?
- iOS中代理属性为什么要用Weak修饰?
- iOS中代理属性为什么要用Weak修饰?
- iOS中代理属性用Weak修饰
- iOS 为什么要用weak修饰代理(delegate)
- 代理属性为何要用 weak 修饰?
- delegate 作为属性,为什么要用weak修饰?
- iOS中assign,copy,retain之间的区别以及weak和strong的区别 代理为啥要用weak修饰
- iOS 代理为啥要用weak修饰? (刨根问底一)
- iOS 代理为啥要用weak修饰? (刨根问底一)
- iOS 代理为啥要用weak修饰? (刨根问底一)
- IOS:代理delegate为什么要用assign或者weak
- iOS内存管理(3)-- iOS 代理要用weak修饰
- iOS 关于修饰代理用weak还是assign, strong
- iOS 关于修饰代理用weak还是assign
- iOS开发-修饰代理delegate用weak还是assign?
- delegate 为什么用 weak assign 修饰
- Hadoop数据传输工具sqoop
- APP第一响应状态和非第一响应状态
- Uncaught SyntaxError: Unexpected identifier和 Uncaught Error: [$injector:modulerr]
- 事件选择模型
- 成为图论大师之路
- iOS中代理属性为什么要用Weak修饰?
- Cookie的生命周期问题
- 主席树---求第k大的数 poj2104
- 插件安装过程,图解plugin.xml
- window 信号量
- Linux系统学习笔记(2)
- ios开发中如何修改AppStore中开发商的信息
- iOS7新JavaScriptCore框架入门介绍
- Schema的基本语法