例子:
问题:在实际swift写CocoaTouch时,发现这样写词啊可以通过编译
var amiteLabel:UILabel ?
self.amiteLabel = UILabel(frame:CGRectManke(50,100,200,40))
self.amiteLable!text = "I love mixbox"
self.view?.addSubview(self.amiteLabel)
这里不是很明白 ! 的意义,而在view addSubview 时却又加上了 ?
下面解释一下这里的 !和 ?的作用
解释:
由于amiteLabel是可选变量,所以可能有值,也可能是nil
使用self.aniteLabel!是明确声明此时的self.amiteLabel里一定有值,无论什么情况都要调用后面的.addSubview方法
这样做的目的一是让代码更明确,而是给编译器提供更多的线索,在编译时发现更多潜在错误
swift显然是一门非常明确、需要开发者先想清楚再编程的语言,明确也就意味着安全;