web-dev-qa-db-fra.com

Swift 4: 'substring (to :)' est déconseillé

J'ai du mal à convertir mon code Swift 3 en Swift 4. J'ai réussi à traduire tout le reste de l'application avec succès, mais j'ai des problèmes avec une seule ligne de code:

cleanURL = cleanURL.substring(to: cleanURL.index(before: cleanURL.endIndex))

L'erreur que je reçois est la suivante:

ViewController.Swift:62:33: 'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto' operator.
17
Matt Swift

Eh bien, faites ce que l'erreur dit, utilisez l'indice de découpage de chaîne avec un opérateur "plage partielle jusqu'à":

let actuallyCleanURL = kindaCleanURL[..<kindaCleanURL.endIndex]

Notez que cela renvoie un Substring. Si vous devez effectuer plus d'opérations de découpage, faites-les sur cette sous-chaîne. Une fois que vous avez terminé, faites la promotion de votre String en l'exécutant via l'initialiseur String (String(mySubString)), provoquant une copie de la mémoire.

28
Alexander