2016-07-05 79 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

相關問題