对Swift中!和?简单解释

先上代码

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一贯的作风。

你可能感兴趣的:(对Swift中!和?简单解释)