Swift 1.0 or later
view1声明成var类型,view2声明let类型。这里有什么区别吗?下面的最后一行代码能编译吗?
1 2 3 4 5 6 7 | import UIKit var view1 = UIView() view1.alpha = 0.5 let view2 = UIView() view2.alpha = 0.5 // Will this line compile? |
view1是个变量可以重新赋值给一个新的实例化的UIView对象。使用let你只赋值一次,所以下面的代码是不能编译的:
但是UIView是一个引用类型的类,所以你可以改变view2的属性,也就是说最后一行代码是可以编译的: