在 Swift 中实现可变属性属性观察器

Dan*_*ico 4 attributes swift didset

我想实现didSet一个变量的“子属性”。

例子:

@IBOutlet weak var myLabel: UILabel!
var myLabel.hidden { didSet{ "DO SOMETHING" } }
Run Code Online (Sandbox Code Playgroud)

我想在myLabel.hidden属性更改时隐藏/显示一些其他视图。我该怎么做?

Amj*_*ini 5

您可以创建这样的属性

    var hideLabel: Bool = false {
    didSet {
        myLabel.isHidden = hideLabel
        //SHOW OR HIDE OTHER VIEWS
    }
}
Run Code Online (Sandbox Code Playgroud)

通过这样做,您不必同时使用 KVO,您可以添加更多控件以隐藏以在 didSet 上下文中显示。我相信这是一种更简单的方法来做这样的事情。