mota memo

毎日Swift

Computed property(計算型プロパティ)

プロパティとは

日本語では「属性」や「性質」などと訳される。  
IT分野ではオブジェクト指向の用語として扱われることが多く、  
クラスや構造体などで定義することができる定数や変数を指す。  

 

Computed property(計算型プロパティ)

値を保持することなく、インスタンスが生成される度に他のプロパティの値を取得し設定するプロパティ。値の返却と設定にget/setを用いる。(以下、サンプルコード)

 

returnを省略した変数
var num: Int {
4 * 2
}
print(num)

 

上記のコードではget{}が省略されており、値(num)の取得のみが可能なリードオンリーの変数を定義している。

 

getを省略しない書き方
var num: Int {
get {
return 4 * 2
}
}

 

get/setの書式
var 変数名: 型 {
get {
ステートメント
return 値
}
set(引数) {
ステートメント
}
}

リードオンリーだけではなく、変数に値を設定できる書き方。

setブロックでは引数で受け取った値を保存するが、変数の値としての保存は行わない。

このような書式をComputed propertyと呼ぶ。