欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ios-UI控件的引用和代理用weak

程序员文章站 2022-06-22 11:55:21
ios-ui控件的引用和代理用weak,我们知道一般我们采用拖线的方式,生成的属性一般都是@property (weak, nonatomic) iboutlet uiimageview *imag...

ios-ui控件的引用和代理用weak,我们知道一般我们采用拖线的方式,生成的属性一般都是@property (weak, nonatomic) iboutlet uiimageview *imageicon; 用的是weak其实用strong也没有问题因为没有必要,

画个图解释一下吧,因为如果我们在控制器中通过生成可uibutton这个控件,把这个控件加入到self.view中已经形成了强引用了,控制器根本没有必要再对它进行强引用,用weak就够了在控制器被销毁的时候它们也都会跟着销毁其实都是一样的。

ios-UI控件的引用和代理用weak

ui控件的代理属性,并不是所有的代理属性都用weak。只是ui必须要用。其他情况有可能会用到strong。为什么,如果我们把tableview加入到了self.view中,self.view就有一个强指针指向它了。如果delegate再用强引用指向了控制器,那就循环引用了。所以我们用weak这样就不会用内存问题了。ios-UI控件的引用和代理用weak