關于拆包問題
為什么
commaIndex = coordinateString.rangeOfString(",")?.startIndex ?使用?拆包
Double(coordinateString.substringToIndex(commaIndex)) ?不能使用呢,使用還會報錯,強制轉換不是也可能有值,可能沒值嗎
為什么
commaIndex = coordinateString.rangeOfString(",")?.startIndex ?使用?拆包
Double(coordinateString.substringToIndex(commaIndex)) ?不能使用呢,使用還會報錯,強制轉換不是也可能有值,可能沒值嗎
2016-06-18
舉報
2016-07-30
補充,解包操作:
if let a = b {........}? else {..........} ????????? 注:b為可選型
guard let a = b? else {..........} ????????????? 注:b為可選型
2016-07-30
因為,coordinateString.rangeOfString(",")返回值類型是可選型,進行coordinateString.rangeOfString(",")?.startIndex操作是嘗試解包(“?”是嘗試解包的意思,“.”是解包后執行后面的操作),且之后的結果也是可選型。再用,let...進行解包
而coordinateString.substringToIndex(commaIndex)返回值類型為String,Double(coordinateString.substringToIndex(commaIndex))返回值為可選型,此處之后沒有進行其他的操作,因此無需添加“?”。然后,let...進行解包
2016-06-20
可以貼出錯誤信息看看。
Double(coordinateString.substringToIndex(commaIndex)) ?不能使用呢,使用還會報錯,強制轉換不是也可能有值,可能沒值嗎
強制轉換的確是可選類型,可以使用拆包后再使用