私人制定者和只读属性之间的区别是什么?

时间:2016-12-07 09:06:09

标签: swift swift2 swift3 setter readonly

以下是什么区别: -

private(set) var string: String

var string: String { get }

3 个答案:

答案 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来改变字符串。只是我的想法。