ios-UI控件的引用和代理用weak
2017-07-24 08:38
211 查看
我们知道一般我们采用拖线的方式,生成的属性一般都是@property (weak, nonatomic) IBOutlet UIImageView *Imageicon; 用的是weak其实用strong也没有问题因为没有必要,
画个图解释一下吧,因为如果我们在控制器中通过生成可UIButton这个控件,把这个控件加入到self.view中已经形成了强引用了,控制器根本没有必要再对它进行强引用,用weak就够了在控制器被销毁的时候它们也都会跟着销毁其实都是一样的。
UI控件的代理属性,并不是所有的代理属性都用weak。只是UI必须要用。其他情况有可能会用到strong。为什么,如果我们把tableView加入到了self.view中,self.view就有一个强指针指向它了。如果delegate再用强引用指向了控制器,那就循环引用了。所以我们用weak这样就不会有内存问题了。
画个图解释一下吧,因为如果我们在控制器中通过生成可UIButton这个控件,把这个控件加入到self.view中已经形成了强引用了,控制器根本没有必要再对它进行强引用,用weak就够了在控制器被销毁的时候它们也都会跟着销毁其实都是一样的。
UI控件的代理属性,并不是所有的代理属性都用weak。只是UI必须要用。其他情况有可能会用到strong。为什么,如果我们把tableView加入到了self.view中,self.view就有一个强指针指向它了。如果delegate再用强引用指向了控制器,那就循环引用了。所以我们用weak这样就不会有内存问题了。
相关文章推荐
- ios UI控件引用用weak,UI控件代理属性必须用weak
- iOS 【UIKit-属性中引用UI控件要用weak的原因】
- IOS开发--循环引用问题,普通控件为什么用weak,代理为什么用weak,block内用到外面的东
- 初学iOS,刚看到控件的strong&weak问题,如果答的不对还请指正。首先有一点,在OC中,如果对象没有强引用,就会被自动释放,那么为什么控件还可以设为weak?
- 初学iOS,刚看到控件的strong&weak问题,如果答的不对还请指正。首先有一点,在OC中,如果对象没有强引用,就会被自动释放,那么为什么控件还可以设为weak?
- 关于UI控件,代理用weak的原因
- ui控件的属性一般都是weak,但是内部变量的属性都是强引用,一般我们都是创建一个内部变量,然后让控件引用属性指向内变量
- UI控件和代理为什么使用weak
- IOS 开发笔记-基础 UI(8)控件连线的 strong 和 weak 设定
- IOS 开发笔记-基础 UI(8)控件连线的 strong 和 weak 设定
- ios UI控件-网格UICollectionView
- (素材源码)猫猫学IOS(二十九)UI之Quartz2D自定义下载控件
- iOS-UI基础(常见控件的监听UIButton,UISegmentedControl,UITextField)
- iOS 代理修饰词weak 不用assgin
- iOS_Swift — UI控件代码大全
- iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析)
- iOS如何在容器类(如NSMutableSet)中使用弱引用(weak reference)
- IOS开发UI—纯代码实现控件及其基本属性
- ios学习之uisplitview的自定义代理的学习
- iOS UIProgressView控件用法