Swift中的'advancedBy'不可用

时间:2016-10-08 01:01:56

标签: swift

error messages

我不确定如何解决上述错误消息,我试图将其转换为索引,但似乎它不接受字符串。

我不确定advancedBy也是如何运作的。非常感谢帮助!

2 个答案:

答案 0 :(得分:2)

在Swift 3中,advancedBy()已重命名为advanced(by: Int)

此外,substringWithRange已重命名为substring(with: Range)

答案 1 :(得分:0)

错误(有时在“问题导航器”中更容易看到,按选项 + 4 )说:

  

错误:'advancedBy'不可用:要将索引前进n步,请在生成索引的CharacterView实例上调用'index(_:offsetBy :)'。

因此你可以这样做:

let r = testStr.index(testStr.startIndex, offsetBy: range.location) ..< testStr.index(testStr.startIndex, offsetBy: range.location + range.length)
let result = testStr[r]

或者

let start = testStr.index(testStr.startIndex, offsetBy: range.location)
let end = testStr.index(start, offsetBy: range.length)
let result = testStr[start ..< end]