Swift学习 隐式解包的可选类型

前面一节讲到,对于可选类型变量或者常量,要访问值或者属性,要对可选类型进行(强制)解包才能访问(获得)。
let value:String?= “a string”
println(value!)
pritln(value!.hashValue)
通过上面这个例子可以看出,对于一个可选类型,当这个可选类型的属性一多,每次都要强制解包,去访问其属性,是不是很不方便,而且“value!.hashValue “中间的感叹号很容易就丢失了。
如果一开始就把他解包了多好,那就可以直接访问其属性,直接点语法更直接了。那么就涉及一个专有名字: 隐式解包的可选类型

一、隐式解包可选类型(implicitly unWrapped optional)
1. 声明可选类型的时候就解包:把隐式解包可选类型当成自动解包的可选类型,即不是每次使用的时候,在变量或常量和面加”!”,而是直接在定义的时候加”!”
2. 声明格式: 在希望标为可选类型名称的后面,用!代替?
3. 使用场景:
(1)主要用于变量/常量在定义瞬间完成之后值一定会存在的情况
(2)主要用于类初始化过程中

你可能感兴趣的:(swift,解包,感叹号,隐式解包可选类型)