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

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于拆包問題

為什么

commaIndex = coordinateString.rangeOfString(",")?.startIndex ?使用?拆包

Double(coordinateString.substringToIndex(commaIndex)) ?不能使用呢,使用還會報錯,強制轉換不是也可能有值,可能沒值嗎


正在回答

3 回答

補充,解包操作:

if let a = b {........}? else {..........} ????????? 注:b為可選型

guard let a = b? else {..........} ????????????? 注:b為可選型

0 回復 有任何疑惑可以回復我~

因為,coordinateString.rangeOfString(",")返回值類型是可選型,進行coordinateString.rangeOfString(",")?.startIndex操作是嘗試解包(“?”是嘗試解包的意思,“.”是解包后執(zhí)行后面的操作),且之后的結果也是可選型。再用,let...進行解包

而coordinateString.substringToIndex(commaIndex)返回值類型為String,Double(coordinateString.substringToIndex(commaIndex))返回值為可選型,此處之后沒有進行其他的操作,因此無需添加“?”。然后,let...進行解包

2 回復 有任何疑惑可以回復我~

可以貼出錯誤信息看看。

Double(coordinateString.substringToIndex(commaIndex)) ?不能使用呢,使用還會報錯,強制轉換不是也可能有值,可能沒值嗎

強制轉換的確是可選類型,可以使用拆包后再使用

if?let?firstValue?=?Double(coordinateString.substringToIndex(commaIndex)){
????????print(firstValue)
????????}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于拆包問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號