先上代码
var amiteLbl :UILabel?
self.amiteLbl = UILabel(frame:CGRectMake(50,100,200,40))
self.amiteLbl!.text = "I love mixbox"
self.view?.addSubview(self.amiteLbl)
最初从Objective-C转向Swift时,会有很多不适应,就比如我,看到这新的语法,会有一段学习的过程。
在以上的代码中,由于新定义amiteLbl是可选变量,所以可能有值,也可能为nil。所以在不确值的情况下,我们用?后缀。
使用self.amiteLbl!是明确声明此时self.amiteLbl里一定有值,无论什么情况都调用后面的.text赋值方法。
这样做的目的一是让代码更明确, 二是给编译器提供更多线索,在编译时发现更多潜在错误。
Swift显然是一门非常明确,需要开发者先想清楚再编程的语言,秉承了Apple一贯的作风。