是否可以通过自己的setter方法设置变量?

时间:2016-10-01 22:13:58

标签: swift

当我浏览Swift语言指南时,我试图看看我是否可以实现一个具有width属性的Struct,该属性将包含一个getter / setter,它将获取/设置自己的值。那可能吗?例如:

struct Resolution {
    static var standardResWidth = 1024
    var height = 0
    var width: Int {
        get {
            return self.width;
        }
        set {
            if newValue > Resolution.standardResWidth {
                width = newValue;
            }
        }
    }
}

从外观上看,Playground的编译器会在这个问题上引发错误。只要我创建一个单独的变量,它就可以工作:

struct Resolution {
    static var standardResWidth = 1024
    var height = 0
    var width = 0
    var setWidth: Int {
        get {
            return width;
        }
        set {
            if newValue > Resolution.standardResWidth {
                width = newValue;
            }
        }
    }
}

0 个答案:

没有答案