亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

swift 可選型的使用詳解

2020-03-09 17:47:22
字體:
來源:轉載
供稿:網友

 一、基本用法

可選性是Swift提供的一個特殊類型,它為我們編寫程序提供便利的條件

swift是強類型語言,當我們需要使用一個變量,既可以為String,也可以為nil時,這時候就需要我們使用可選型。

// 使用特殊值作為“無”可能產生歧義//var errorCode = 404//errorCode = 0// 使用可選型var errorCode:Int? = 404print( errorCode )errorCode = nilprint( errorCode )var color: UIColor? = nil// Int? 和 Int 不是一種類型let imInt = 405errorCode = imInt//imInt = errorCode// 必須顯示地聲明可選型的類型//var imOptional = nilvar imOptional: String? = nil

二、可選型解包使用

var errorCode:String? = "404"print( errorCode )// 可選型不可以直接使用//"The errorCode is" + errorCode// 強制解包"The errorCode is " + errorCode!// 強制解包是危險的errorCode = nil//"The errorCode is" + errorCode!// 判斷不是nilif errorCode != nil{"The errorCode is " + errorCode!}else{"No error"}// if let 解包if let unwrappedErrorCode = errorCode{"The errorCode is " + unwrappedErrorCode}else{"No error"}// 可以使用相同的變量名if let errorCode = errorCode{"The errorCode is " + errorCode}else{"No error"}// 使用if-let同時解包多個變量var errorMessage:String? = "Not found"if let errorCode = errorCode{if let errorMessage = errorMessage{"The errorCode is " + errorCode + "/nThe errorMessage is " + errorMessage}}

三、多層解包(**swift3.0有變化)

//多層解包(swift 2.0使用)if let errorCode = errorCode , errorMessage = errorMessage{"The errorCode is " + errorCode + "/nThe errorMessage is " + errorMessage}//以上多層解包方法在swift3.0中應寫為if let errorCode = errorCode , let errorMessage = errorMessage{"The errorCode is " + errorCode + "/nThe errorMessage is " + errorMessage}// where(swift 2.0使用)if let errorCode = errorCode , errorMessage = errorMessage where errorCode == "404"{print("Page not found")}//在swift3.0中應寫為 // whereif let errorCode = errorCode , let errorMessage = errorMessage , errorCode == "404"{print("Page not found")}

四、Optional chaining的使用

可選型?這種寫法叫做Optional chaining

這種方法可以進行嘗試解包,使代碼簡潔

var errorMessage: String? = "Not Found"if let errorMessage = errorMessage{errorMessage.uppercased()}//使用 Optional chainingerrorMessage?.uppercased()var uppercaseErrorMessage = errorMessage?.uppercased()//uppercaseErrorMessage為可選型if let errorMessage = errorMessage?.uppercased(){errorMessage}// Optional chaining 也可以使用!let uppercaseErrorMessage2 = errorMessage!.uppercased()//此時 uppercaseErrorMessage2 為String類型。此時為強制解包,容易出現錯誤

五、Nil-Coalescing 的使用

// Nil-Coalescingvar errorMessage: String? = nillet message: Stringif let errorMessage = errorMessage{message = errorMessage}else{message = "No error"}// 使用三目運算符let message2 = errorMessage == nil ? "No error" : errorMessage!// 注意: 此時使用errorMessage需要強制解包.以保證message2是一個String,而非String?// 三目運算符?:的實質就是一個if else// 使用 ??let message3 = errorMessage ?? "No error"// 注意: 此時使用errorMessage不需要強制解包. // ??符號已經保證了訪問到errorMessage時, errorMessage不是nil// Swift將為我們自動解包, 保證message2永遠是一個String, 而不是String?//這種用法叫做 Nil-Coalescing

以上所述是小編給大家介紹的swift 可選型的使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久久亚洲精品| 亚洲伊人一本大道中文字幕| 国产精品久久久久久久app| 7777kkkk成人观看| 九九热这里只有精品6| 欧美成人午夜激情视频| 亚洲老头同性xxxxx| 91高清视频免费| 大胆欧美人体视频| 成人h猎奇视频网站| 91亚洲国产成人久久精品网站| 精品精品国产国产自在线| 日韩中文字幕免费看| 日本中文字幕久久看| 中国人与牲禽动交精品| 欧美成人性生活| 国产精品久久久久久av福利| 亚州国产精品久久久| 色婷婷成人综合| 69国产精品成人在线播放| 亚洲视频网站在线观看| 菠萝蜜影院一区二区免费| 色综合色综合久久综合频道88| 91影视免费在线观看| 欧美日韩美女在线| 91成人精品网站| 欧美寡妇偷汉性猛交| www.亚洲男人天堂| 欧美日在线观看| 欧美日韩亚洲成人| 久久久99久久精品女同性| 欧美性猛交视频| 欧美日韩性视频在线| 2019中文字幕在线观看| 伊人青青综合网站| 欧美高清视频在线播放| 亚洲女性裸体视频| 最近2019中文字幕一页二页| 欧美视频一区二区三区…| 亚洲精品一区中文字幕乱码| 日本中文字幕成人| 亚洲片在线观看| 日韩在线视频线视频免费网站| 另类色图亚洲色图| 91中文字幕在线观看| 韩国日本不卡在线| y97精品国产97久久久久久| 国产精品第一第二| 欧美极品少妇xxxxx| 97视频网站入口| 欧美性videos高清精品| 国产精品爱久久久久久久| 综合网日日天干夜夜久久| 亚洲人成电影网站色xx| 亚洲韩国欧洲国产日产av| 国产suv精品一区二区三区88区| 精品自拍视频在线观看| 亚洲欧美日韩区| 国产精品久久久久9999| 久久久久这里只有精品| 色噜噜狠狠色综合网图区| 亚洲精品电影在线观看| 亚洲国产欧美久久| 欧美性高潮在线| 国产91对白在线播放| 欧美精品18videos性欧| 成人午夜黄色影院| 最新国产精品拍自在线播放| 亚洲欧美日韩一区二区三区在线| 日韩亚洲欧美中文在线| 久久久久久久97| 懂色aⅴ精品一区二区三区蜜月| 一区二区三区视频在线| 亚洲偷欧美偷国内偷| 亚洲www在线| 亚洲最新av在线网站| 精品久久久久久久久久久久| 亚洲电影免费观看| www.亚洲天堂| 日韩在线高清视频| 亚洲精品免费一区二区三区| 欧美一级淫片aaaaaaa视频| 亚洲网址你懂得| 亚洲影影院av| 亚洲人成网站色ww在线| 精品五月天久久| 欧美成人精品在线观看| 最新国产精品拍自在线播放| 欧美日韩国产精品一区二区不卡中文| 全色精品综合影院| 综合网中文字幕| 国自在线精品视频| 一个色综合导航| 欧洲午夜精品久久久| 亚洲片在线观看| 久久久视频精品| 国产精品ⅴa在线观看h| 91久久国产精品| 欧美成人剧情片在线观看| 91亚洲一区精品| 欧美噜噜久久久xxx| 日韩中文娱乐网| 国产精品香蕉av| 国产精品96久久久久久| 欧美日韩一区二区在线| 成人国产精品av| 一本色道久久88综合亚洲精品ⅰ| 欧美亚洲成人网| 最新国产成人av网站网址麻豆| 北条麻妃在线一区二区| 91免费在线视频| 国产精品嫩草影院一区二区| 国产日韩在线视频| 精品亚洲一区二区三区在线播放| 日韩电影在线观看永久视频免费网站| 久久国产精品首页| 91在线色戒在线| 国产精品久久久久久久久久久久久久| 欧美二区乱c黑人| 日本道色综合久久影院| 国产精品视频自拍| 欧美制服第一页| 97久久精品国产| 久久久久久成人精品| 一区二区三区久久精品| 欧美在线www| 欧美精品一区二区三区国产精品| 亚洲天堂av在线免费| 日本一区二区三区四区视频| 久久久久久久久久av| 欧美重口另类videos人妖| 欧美高清在线播放| www.久久撸.com| 欧美一区二区影院| 狠狠久久亚洲欧美专区| 精品中文视频在线| 日本一区二区三区四区视频| 国产午夜精品久久久| 久久久伊人欧美| 欧美激情在线一区| 日韩成人在线网站| 国语自产精品视频在免费| 91色中文字幕| 色阁综合伊人av| 欧美第一黄网免费网站| 91成人天堂久久成人| 久久精品国产免费观看| 日韩av在线影视| 日本成人激情视频| 欧美成人国产va精品日本一级| 国产精品夜间视频香蕉| 日韩最新在线视频| 国产日韩欧美另类| 欧美精品生活片| 中文字幕亚洲欧美| 久久久久久久久中文字幕| 欧美一级片免费在线| 欧美一区二区三区四区在线| 国产亚洲a∨片在线观看| 精品欧美aⅴ在线网站| 91久久精品在线| 98精品在线视频| 亚洲国产日韩欧美在线99| 国产精品wwwwww|