[英]Why are properties of an immutable object mutable in Swift?
在Swift中,我们用let
表示一个不可变的变量。
我不明白为什么你改变他们的属性。 例如:
let lbl = UILabel()
lbl.textAlignment = .Right()
为什么你可以改变textAlignment
? 通过改变属性,我们还没有改变应该是常数的变量lbl
吗?
根据Swift编程语言 ,常量结构的属性也是常量,但常量类可以具有可变属性。
用他们的话说,
如果创建结构的实例并将该实例分配给常量,则无法修改实例的属性,即使它们被声明为变量属性...
对于作为引用类型的类,情况也是如此。 如果将引用类型的实例分配给常量,则仍可以更改该实例的变量属性。
类类型是引用类型 - 值是指向对象的指针。 无法更改它只是意味着不更改引用,指向另一个对象。 它与您可以对指向的对象做什么没有任何关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.