解包(!的用法)
· 可选类型在每次访问的时候 都会提取并检测它的值是否存在,但有时候根据程序结构就可以推断 可选量在首次赋值后 必然存在值,这时候,就不需要每次验证值是否存在,如果确定一个可选量的值一定存在,那么我们使用!进行解包获取它的值,或者使用Optional Binding
let possibleString : String? = "An optional string"
print(possibleString) //解包,确定possibleString的值一定存在,不需要每次都验证他的值是否存在
let stringValue = possibleString!.hashValue //必须解包,才能获取可选量的属性或者方法,否则会出现如下异常信息
//Value of optional type 'String' not unwrapped,did you mean to use "!"