-
1.可選類型的介紹
- 1.注意:
可選類型時swift中較理解的一個知識點
暫時先了解,多利用Xcode的提示來使用
隨著學習的深入,慢慢理解其中的原理和好處 - 2.概念:
在OC開發(fā)中,如果一個變量暫停不使用,可以賦值為0(基本屬性類型)或者賦值為空(對象類型)
在swift開發(fā)中,nil也是一個特殊的類型.因為和真實的類型不匹配是不能賦值的(swift是強類型語言)
但是開發(fā)中賦值nil,在所難免.因此推出了可選類型 - 3.可選類型的取值:
空值
有值
- 1.注意:
-
2.定義可選類型
定義一個可選類型有兩種寫法
最基本的寫法
語法糖(常用)// 錯誤的寫法 //let string:String = nil // 正確的寫法 // 注意name的類型是一個可選的類型,但是該可選類型可以存放字符串 // 寫法一 let name:Optional<String> = nil //寫法二 定義可選類型(語法糖)常用 let name1:String? = nil -
3.可選類型的使用
1.給可選類型賦值
// 定義可選類型(定義的是字符串)
var name:String? = nil
// 錯誤的寫法 因此該可選類型中只能存放字符串
name = 133
// 正確的寫法
name = "王沖"2.取出可選類型的值,取出可選類型的真實值(解包)
! 是強行解包的意思,程序員覺得這里面有值,一旦崩潰就會停在此處,錯誤的提示是讓程序員思考一下,代碼的安全性會更好
print(name!)3.如果可選類型為nil,強制取出其中的值(解包),會出錯
如果可選類型為nil,強制取出其中的值(解包),會出錯
正確的寫法
if name != nil {
print(name!)
}
簡單寫法:為了讓在if語句中可以方便使用string
可選綁定
if let str = name {
print(str)
} -
4.真實應用場景
目的:讓代碼更加嚴謹// 通過該方法創(chuàng)建的URL,可能有值,也可能沒有值. // 錯誤寫法:如果返回值是nil時,就不能接收了 // 如果字符串中有中文,則返回值為nil,因此該方法的返回值就是一個可選類型,而使用一個NSURL類型接收是錯誤的 let url : NSURL = NSURL(string: "www.520it.com") // 正確寫法:使用可選類型來接收 let url : NSURL? = NSURL(string: "www.520it.com") // 該方式利用類型推導 let url = NSURL(string: "www.520it.com") // 通過url來創(chuàng)建request對象:在使用可選類型前要先進行判斷是否有值 // 該語法成為可選綁定(如果url有值就解包賦值給tempURL,并且執(zhí)行{}) if let str = url { let request = NSURLRequest(url:str as URL) }
9.可選類型(optional)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內(nèi)容
- 前言: 作為一個水平一般,沒有追求的OC開發(fā)者,從swift1.0開始就買了幾本swift參考書,直到現(xiàn)在swi...
- 01-常量與變量 學習swift第一步打印Hello World print("Hello World") swi...
