'advancedBy'在Xcode 8中不可用

时间:2016-07-19 04:00:03

标签: ios swift swift3

目前,我一直在使用XCode 8并在线

let range = key.startIndex...key.startIndex.advancedBy(0)

我收到错误:

  

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

我该如何解决这个问题?

错误的屏幕截图如下:

advancedBy is unavailable

2 个答案:

答案 0 :(得分:22)

advancedBy(_:)已在Swift v3中弃用,并由index(_:offsetBy:)取代。有关详细信息,请参阅Apple的migration guide

您的错误的解决方案:

let range = key.startIndex...key.index(key.startIndex, offsetBy: 0)

答案 1 :(得分:0)

您可以通过构建新字符串而不是操纵旧字符串来实现您的目标:

let upperCasedFirstCharacter = String(key.characters.first!).uppercased()

let remainder = key.substring(from: key.characters.index(after: key.characters.startIndex))

let selector = "set\(upperCasedFirstCharacter)\(remainder)"