【SwifUI】計算プロパティ

計算プロパティ(Computed property)

値を計算するためのプロパティで、以下の特徴を持つ。

  • 固定値は持たない
  • 他のプロパティにアクセスできる
  • 呼び出されたタイミングで処理を行う
  • getとsetが存在

構文

var プロパティ名: 型名 { }

例:税込み価格を計算

struct Price {
  var yen : Double
  let tax_rate = 1.1
  
  var taxIncludedPrice : Double {
    get {
      return yen * tax_rate // 他のプロパティにアクセス
    }
    set {
      yen = newValue / tax_rate
    }
  }
}

var price = Price(yen: 100) 
price.taxIncluded // getが呼び出される(呼び出されたタイミングで処理)
price.taxIncluded = 220 // setが呼び出される

bodyプロパティ

以下のbodyは計算プロパティである。
VStackのViewを返している。

var body: some View {
  VStack {
    Text("return from Body.")
  }
}