Avatar
Avatar
koher
Kuniwakさんが言っているのは、そのような健全性条件は容易に崩れるので、多くのケースで let にすることになるということじゃないでしょうか。
 たとえば、健全性条件を考えると var age: Int は許されず、 let age: Intvar age: UInt にすることになると思います。Swiftにおいて一般的には非負整数であっても Int を使うことが推奨されているので( UInt は簡単にオーバーフロー→クラッシュしますし)、 let age: Int を選ぶことになりそうです。 そう考えると、多くの Int 型のプロパティは let が求められるように思います。
僕はそう言う場合はAge型を作ってその中で担保するのでageプロパティはやっぱりvarになると思います なぜなら他のところでもageを扱ったりプロパティにもったりするので、それを個別にIntにしてバリデーションをいれると実装の重複がでてきて保守できなくなるからです
👍 1
12:24 PM
なので2つ以上のプロパティの相互関係か、1つのプロパティをソースとしたキャッシュ値のようなパターンでしかそういうletは出てこない気がします