在swift中使用read公共写私有变量的不同方法?

时间:2017-02-23 15:18:20

标签: swift variables properties private

我已经完成了一个在线课程,教我们写课程的属性:

class bar {
     private var _foo:Int

     var foo {
         return _foo
     }     
}

从那以后我见过

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

这两种写作方式之间有什么区别,哪种方式最佳?

1 个答案:

答案 0 :(得分:4)

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

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

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