可选绑定
在Swift中,返回值或者数据类型后面加 ?表示可选类型,值可以为空,但是后面加 !的话,表示告诉编译器,这个是一定有值的,相当于强制解析,如果没有值的话,就会崩。这是前提。实际应用举例如下:
let url = URL.init(string: "http://www.baidu.com")
//正常写惯了OC的话,为了保证程序的稳定性,强制解析前一定会加判断,通常会这么写
if url != nil {
let request = URLRequest(url: url!)
}
//但是在工程中会有很多很多的可选类型,如果每个都这么写的话,看起来肯定不太优雅,所以Swift推出了一个可选绑定的写法
if let url = url {
let request = URLRequest(url: url)
}