初学iOS,刚看到控件的strong&weak问题,如果答的不对还请指正。首先有一点,在OC中,如果对象没有强引用,就会被自动释放,那么为什么控件还可以设为weak?

1. storyboard 或者xib 上创建控件,在控件放在view 上的时候,已经形成了如下的引用关系, UIButton 为例:UIViewController->UIView->subView->UIButton 然后你为这个UIButton 声明一个weak 属性@property(nonatomic,weak) IBOOutlet UIButton *btn;

相当于xib/sb对这个Button是强引用,你声明的属性对它是弱引用。2.手动创建控件a). 将控件声明成strong@property(nonatomic,strong) UIButton *btn;

那么你在实现这个控件时只需这样:

_btn = [[UIButton alloc]init];

[self.view addSubview:_btn]

b). 将控件声明成weak@property(nonatomic,weak) UIButton *btn;

那么你在实现这个控件时需要这样:

UIButton *button = [[UIButton alloc]init];

_btn = button;

[self.view addSubview:_btn];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值