在Swift中,我们用let
表示一个不可变的变量。
我不明白为什么你改变他们的属性。例如:
let lbl = UILabel()
lbl.textAlignment = .Right()
为什么可以更改textAlignment
?通过改变属性,我们还改变了应该是常数的变量lbl
吗?
答案 0 :(得分:15)
根据Swift Programming Language,常量结构的属性也是常量,但常量类可以具有可变属性。
用他们的话说,
如果您创建结构的实例并将该实例分配给常量,则无法修改实例的属性,即使它们被声明为变量属性...
对于作为引用类型的类,情况也是如此。如果将引用类型的实例分配给常量,则仍可以更改该实例的变量属性。
答案 1 :(得分:3)
类类型是引用类型 - 值是指向对象的指针。无法更改它只是意味着不更改引用,指向另一个对象。它与你可以用指向的对象做什么没有任何关系。