2016-10-01 109 views
3
let greenHex = hex.substring(with: Range<String.Index>(start: hex.index(hex.startIndex, offsetBy: 2), end: hex.index(hex.startIndex, offsetBy: 4))) 

這是Swift3.0,六角是一個字符串,但是這個代碼拋出一個錯誤,說:不能調用初始化爲類型與類型的參數列表「範圍<String.Index>」「(開始:String.Index,端:String.Index)」

不能調用類型「範圍」初始化與類型的 參數列表「(啓動:String.Index,結束:String.Index)」

回答

5

Range.init(start:end:)構造函數在Swift 3.0中被刪除,所以你初始化一個範圍,如下所示:

let range = hex.index(hex.startIndex, offsetBy: 2)..<hex.index(hex.startIndex, offsetBy: 4) 

它返回一個半開範圍<String.Index>類型。然後,你可以這樣做:

hex.substring(with: range) 
+0

非常感謝你,我想我得到了答案。我寫的代碼就像你說的,它的工作原理。 – Chacha

相關問題