【发布时间】:2012-03-09 16:34:55
【问题描述】:
将 IB 与助手视图结合使用时,您可以控制并拖动 IB 中的元素到 .h 文件并创建一个出口。您可以将它拖到 2 个位置之一,在变量声明块内或块外。
如果你把它拖到变量块里,你会得到这样的结果:
@interface MyViewController : UIViewController {
IBOutlet UIButton *foo;
}
将它拖到块外会给你类似....
@interface ViewController : UIViewController {
}
@property (retain, nonatomic) IBOutlet UIButton *foo;
我想过它们有何不同,我有点困惑。好的,我了解合成属性会产生一些魔力并在运行时创建实例变量(仅在 64 位/ARM 上)。所以我相信我理解这 2 个选项的工作原理。
什么是最好的选择?第一个选项生成的代码更少,看起来更简单。
第二个版本提供公共访问器/突变器,但我很少从课堂外访问插座(如果我这样做,它几乎总是使用封装)。从我开始 iOS 工作开始,我就一直使用这个选项。
我是否遗漏了什么,或者在大多数情况下我应该切换到基于变量的网点?
【问题讨论】:
标签: ios properties iboutlet