Swift:使用相同的Getter和/或Setter的计算属性

时间:2016-06-27 09:40:33

标签: swift class

的所有人。我想知道在Swift中是否有可能为多个变量使用相同的属性观察者,而不必每次都重写它们?

例如,在下面的Swift代码中:

class Foo {
func setInfo() {
    //Do Something
}

var var1 = "" {
    didSet {
        setInfo()
    }
}

var var2 = "" {
    didSet {
        setInfo()
    }
}

var var3 = "" {
    didSet {
        setInfo()
    }
}
}

我必须为每个变量编写相同的didSet-observer。有没有办法把它写得更短,而不是一遍又一遍地写它?

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您愿意,可以将观察者写在一行中(在短结构中也是如此),它看起来更具可读性。但通常没有其他办法。

class Foo {

    var var1 = "" {didSet {setInfo()}}
    var var2 = "" {didSet {setInfo()}}
    var var3 = "" {didSet {setInfo()}}

    func setInfo() {
        //Do Something
    }
}