'advancedBy'在Xcode 8中不可用

Va *_*sal 14 ios swift swift3

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

let range = key.startIndex...key.startIndex.advancedBy(0)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

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

我怎样才能解决这个问题?

错误的屏幕截图如下:

advancedBy不可用

小智 22

advancedBy(_:)已在Swift v3中弃用并替换为index(_:offsetBy:).有关详细信息,请参阅Apple的迁移指南.

您的错误的解决方案:

let range = key.startIndex...key.index(key.startIndex, offsetBy: 0)
Run Code Online (Sandbox Code Playgroud)


Pau*_*w11 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)"
Run Code Online (Sandbox Code Playgroud)