let greenHex = hex.substring(with: Range<String.Index>(start: hex.index(hex.startIndex, offsetBy: 2), end: hex.index(hex.startIndex, offsetBy: 4)))
Run Code Online (Sandbox Code Playgroud)
这是Swift3.0,hex是一个字符串,但是这段代码抛出一个错误,说:
无法使用类型为'(start:String.Index,end:String.Index)的参数列表调用类型'Range'的初始化程序
Range.init(start:end:) 在Swift 3.0中删除了构造函数,因此您初始化如下的范围:
let range = hex.index(hex.startIndex, offsetBy: 2)..<hex.index(hex.startIndex, offsetBy: 4)
Run Code Online (Sandbox Code Playgroud)
返回类型的半开放范围<String.Index>.然后,您可以执行以下操作:
hex.substring(with: range)
Run Code Online (Sandbox Code Playgroud)