例子:
?問題:在實際swift寫CocoaTouch時扩灯,發(fā)現(xiàn)這樣寫詞啊可以通過編譯
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里一定有值,無論什么情況都要調(diào)用后面的.addSubview方法
這樣做的目的一是讓代碼更明確拿撩,而是給編譯器提供更多的線索,在編譯時發(fā)現(xiàn)更多潛在錯誤
swift顯然是一門非常明確如蚜、需要開發(fā)者先想清楚再編程的語言压恒,明確也就意味著安全;