您的位置:首页 > 产品设计 > UI/UE

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这样就不会有内存问题了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐