何时/如何 - 出口 - > didSet

时间:2016-07-05 07:38:29

标签: xcode swift viewcontroller outlet didset

我想知道,插座上的didSet何时/如何实际触发?

例如:

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

1 个答案:

答案 0 :(得分:3)

当初始化类时,Outlet属性初始化为nil。稍后,当从nib初始化对象时,它们将具有值。第一步,当您可以确定所有正确配置的出口属性的nonnil值为viewDidLoad时。因此,didSet将在viewDidLoad之前调用此属性的prepareForSegue观察者。因为所有这些都需要小心插座属性:例如,如果您尝试使用.hover { background-image: url("https://cdn4.iconfinder.com/data/icons/ionicons/512/icon-image-128.png"); height:75px; width:75px; background-size: contain; opacity:0.7; display: none; position: absolute; top : 0; left: 0; } img:hover ~ .hover { display:block; } 方法访问它们,您将收到nil