Swift5 にて Setter のみ private にして Getter を public にする

ある変数を Setter は private にして、
Getter だけ public にして公開する方法。

サンプルコード

  • private (set) var xxx がポイント
class Sample {
    
    private (set) var value: String = "test"
    
    func setValue(v: String) {
        self.value = v
    }
    
}


let s = Sample()

s.value // "test"
//s.value = "test2" ← エラーになる
s.setValue(v: "success")
s.value // "success"