以下是什么区别: -
private(set) var string: String
和
var string: String { get }
答案 0 :(得分:3)
private(set) var string: String
- 在这种情况下,private(set)
仅使set函数成为私有,而private使set和get函数都成为私有。
var string: String { get }
- 在这种情况下,变量字符串是只读的。
如果您需要,请访问此http://kostiakoval.github.io/posts/swift-public-property-with-private-setter以进一步说明。
答案 1 :(得分:2)
私有setter意味着变量可以在声明它的类中设置。它的行为类似于该类范围之外的readonly属性。
只能访问Readonly属性,而不能进行变异。没有例外。
答案 2 :(得分:0)
我认为:对于私有var字符串:String,其他文件无法访问它。但你可以改变它的价值。 对于var string:String {get},其他文件可以访问它,你可以设置另一个属性来改变它的值,如:var stringValue =“”; var string:String {get {return stringValue}},你可以改变stringValue来改变字符串。只是我的想法。