web-dev-qa-db-fra.com

'advancedBy' n'est pas disponible dans Xcode 8

Actuellement, j'utilise XCode 8 et sur la ligne

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

Je reçois l'erreur:

error: 'advancedBy' n'est pas disponible: pour faire avancer un index de n étapes, appelez 'index (_: offsetBy :)' sur l'occurrence de CharacterView qui a généré l'index.

Comment puis-je réparer cela?

Une capture d'écran de l'erreur est ci-dessous:

 advancedBy is unavailable

13
Va Visal

advancedBy(_:) est obsolète dans Swift v3 et remplacé par index(_:offsetBy:). Reportez-vous au Guide de migration de Apple pour plus d'informations. 

La solution à votre erreur:

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

Vous pouvez obtenir ce que vous recherchez plus simplement en construisant une nouvelle chaîne plutôt qu'en manipulant l'ancienne:

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

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

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