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

아울렛 속성은 전무로 초기화. 객체가 펜촉에서 초기화 될 때 값을 나중에 갖게됩니다. 모든 제대로 구성된 콘센트 속성이 0이 아닌 값을 가지는지 확인하려면 첫 번째 단계는 viewDidLoad입니다. 따라서이 속성에 대한 didSet 관찰자는 viewDidLoad 직전에 호출됩니다. 이 모든 것들이 콘센트 속성에주의를 기울여야하기 때문에 : 예를 들어, prepareForSegue 방법으로 액세스하려고하면 nil을받습니다.

+1

흥미 롭습니다. 정보를 제공해 주셔서 감사합니다! – CeraMo69