第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于wrap的問題


let name = Optional.some("daniel")

這時(shí)候的name是String? 也就是說這個(gè)name是屬于Optional的枚舉類型的

如果一解包個(gè)String?的值 解包出來是nil 就是說這個(gè)值是屬于Optional里面的.none類型 而他不是屬于Optional里面的.some類型?


正在回答

1 回答

先上代碼:

var name = Optional.some("daniel")

??? ? name? = Optional.none

首先:對題主提問中對表表述做一點(diǎn)點(diǎn)更正。也許更正了這個(gè)也就同時(shí)解決了題主對提問

“就是說這個(gè)值是屬于Optional里面的‘.none類型 ’而他不是屬于Optional里面的‘.some類型 ’?”

其中.‘.none類型 ’不應(yīng)該稱之為一種“類型”,‘.some類型 ’也不應(yīng)該稱之為一種“類型”。它們兩個(gè)都是“Optional類型”這種類型的一個(gè)枚舉值。順便說一下,至于“Optional類型”從源碼看(

public enum Optional<Wrapped> : ExpressibleByNilLiteral

),它是一個(gè)枚舉類型。


另外:

如果一解包個(gè)String?的值 ,得到的結(jié)果是String類型。對nil 進(jìn)行解包,是不會得到nil的。代碼如下。題主可以借助 Xcode 自行看一下相應(yīng)對變量類型

var?str : String? =?nil ?// 等價(jià)于 ?var?str2 : String? = Optional.none

if?let?newStr = str {

? ? print(newStr)

}?else{

//? ? print(newStr) //編譯出錯(cuò)

? ? print("解包失敗")

}


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

梁華建 提問者

對 是枚舉類型,我還以為現(xiàn)在沒人學(xué)Swift了 沒看到什么人問答哈哈
2019-01-30 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于wrap的問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號