Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 何时/如何-出口->;迪塞特_Xcode_Swift_Viewcontroller_Outlet_Didset - Fatal编程技术网

Xcode 何时/如何-出口->;迪塞特

Xcode 何时/如何-出口->;迪塞特,xcode,swift,viewcontroller,outlet,didset,Xcode,Swift,Viewcontroller,Outlet,Didset,我想知道,插座上的didSet实际上是何时/如何触发的 例如: @IBOutlet weak var modifyButton: UIButton! { didSet { modifyButton.layer.cornerRadius = 9 } } 类刚初始化时,出口属性初始化为nil。当从nib初始化对象时,它们将有值。第一步,当您可以确保所有正确配置的插座属性都具有非零值时,请执行viewDidLoad。因此,将在viewDidLoad之前调用此属性

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

例如:

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

类刚初始化时,出口属性初始化为nil。当从nib初始化对象时,它们将有值。第一步,当您可以确保所有正确配置的插座属性都具有非零值时,请执行
viewDidLoad
。因此,将在
viewDidLoad
之前调用此属性的
didSet
observer。因为所有这些您都需要小心处理插座属性:例如,如果您尝试在
prepareForSegue
方法中访问它们,您将收到零。didSet是一个KVO,并且与KVO应该的工作方式完全相同。