2016-07-05 3 views
0

Ich frage mich, wann/wie wird der DidSet an einer Steckdose tatsächlich ausgelöst?Wann/Wie - Outlet -> didSet

Zum Beispiel:

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

'didset' ist ein KVO und funktioniert genau so, wie die KVO sollte, [nach der offizielle Dokumente] (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html). – holex

Antwort

1

Outlet Eigenschaften als Null initialisiert, wenn nur initialisiert Klasse. Sie werden später Werte haben, wenn Objekte von der Spitze initialisiert werden. Erster Schritt, wenn Sie sicher sein können, dass alle ordnungsgemäß konfigurierten Ausgangseigenschaften nonnil-Werte haben, ist viewDidLoad. Also, didSet Beobachter auf diese Eigenschaften wird kurz vor viewDidLoad aufgerufen werden. Weil Sie all dies vorsichtig sein müssen mit Outlet-Eigenschaften: zum Beispiel erhalten Sie Null, wenn Sie versuchen werden, Zugriff auf sie in prepareForSegue Methode

+1

Interessant, danke für die Information! – CeraMo69

Verwandte Themen