0

以下の特定のケースで Swift でセッターを使用する必要があるのはなぜですか。

「display.text」Stringをに変換しようとしていDoubleます。getter が value を戻しString、それを variable に変換しDouble、この値を variable に割り当てることを理解していますnewValue

質問:に変換したばかりなのに、display.text 値をString再度使用して設定し直すのはなぜですか?= "\(newValue)"Double

var doubleValue: Double {
    get {
        return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
    }
    set {
        display.text = "\(newValue)"
    }
}
4

2 に答える 2

1

迅速な変数のセッターとゲッターをオーバーライドするには、以下のコードを使用します

var temX : Int? 
var x: Int?{

set(newX){

   temX = newX

}

get{

    return temX

}

ゲッター/セッターがオーバーライドされている同じ変数にアクセスしようとすると、無限ループが発生するため、変数の値を一時変数に保持する必要があります。

このように簡単にセッターを呼び出すことができます

x = 10

ゲッターは、指定されたコード行の下で起動すると呼び出されます

var newVar = x
于 2016-01-04T13:14:31.717 に答える