getter, setterを使用するとクラッシュする
swiftでゲッターセッターを用いようとしたところ、クラッシュしてしまい、原因がわからず困っています。
おそらく原因となっているコードは
internal var height{
get{return self.height}
set{
self.height = newValue
//その他何かの処理
}
}
実行するとまず、setの部分のset.height = newValueでクラッシュし、
調べてみると、self.height = newValueがなんども実行されていたためでした。
つまり、setにおいては何もしなくてもこの処理は行われており、
書き手が明示的にこのように書く必要はないと勝手に解釈して、以下のように書き換えました
internal var height{
get{return self.height}
set{
//self.height = newValue (コメントアウト)
//その他何かの処理
}
}
すると、今度はgetの部分でクラッシュし、なんどもgetが実行されているようでした。
getに関してはそのまま返してほしいのですが、
もしかして私がゲッターとセッターの使い方を間違えているのでしょうか。