刚开始学习ARC。在ARC之前,我只是简单地声明我的出口,例如:IBOutlet UIButton *button;,所以我不会保留它或其他任何东西。使用ARC时,不指定弱或强表示强。
所以,如果我在ARC (即IBOutlet UIButton *button;)下做同样的事情,这个按钮是不是是一个强引用?或者我必须解释它是弱的吗?
简而言之,IBOutlet是否意味着__weak?
发布于 2012-04-25 11:12:54
不,IBOutlet基本上是在编译代码时被剥离的。但是,它是XCode的帮助器,因此它可以知道什么是InterfaceBuilderOutlet。
基本上,这个单词将允许您连接Interface Builder中的元素。
默认情况下,它仍然是强的(只要想象一下这个词不在那里)。
但是,建议您将其设置为弱,因为一旦将某些内容连接到接口构建器,该接口将保持对它的强引用,因此没有必要具有双强引用,特别是如果该元素不打算在接口卸载时保持活动状态。
阅读这个问题,这正是你想要的:
发布于 2012-04-25 11:11:55
IBOutlet关键字仅用于将对象与界面生成器中的元素相关联。它与弱或强、ARC或内存管理无关。
https://stackoverflow.com/questions/10308792
复制相似问题