2016-07-05 81 views
0

我想知道,什么时候/如何didSet的插座实际上触发?什么时候/如何 - 出口 - > didSet

例如:

@IBOutlet weak var modifyButton: UIButton! { 
    didSet { 
     modifyButton.layer.cornerRadius = 9 
    } 
} 
+0

'didSet'是一个KVO,和KVO应该完全一样,[根据官方文档](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html)。 – holex

回答

1
出口

属性初始化为零当类刚初始化。稍后,当对象将从nib初始化时,它们将具有值。第一步,您可以确定所有正确配置的插座属性都有非零值时为viewDidLoad。所以,didSet这个属性的观察者将在viewDidLoad之前被调用。因为所有这些,你需要小心的插座属性:例如,你会收到零如果你会尝试访问它们在prepareForSegue方法

+1

有趣,谢谢你的信息! – CeraMo69

相关问题