在swift中读取public写入私有变量的不同方法?

Different ways of making read public write private variables in swift?

我完成了一个在线课程,该课程教我们将 类 的属性写为:

class bar {
     private var _foo:Int

     var foo {
         return _foo
     }     
}

从那时起我就看到了

class bar {
     private (set) var foo:Int 
}

这两种写东西的方式有什么不同,哪种是最好的做法?

第二个选项更简单明了,它的额外好处是仍然可以添加 getsetwillSetdidSet 块属性,同时在 getter 和 setter 上仍有明确定义的范围。当然你仍然可以将它们添加到私有 属性 但我认为代码开始变得不那么可读了。

另请注意,第一个选项是 public 只读计算 属性 使用私有存储 属性。

第二个选项可以是计算的或存储的 属性。