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

我们知道一般我们采用拖线的方式,生成的属性一般都是@property (weak, nonatomic) IBOutlet UIImageView *Imageicon; 用的是weak其实用strong也没有问题因为没有必要,

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值