Décoder une URL - Swift 2.0
Bonsoir à tous,
J'ai un souci, il m'arrive d'avoir des URL avec un espace.
le problème c'est que si je fais ceci :
url.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLPathAllowedCharacterSet())
J'ai bien une url avec le %20 pour remplacer l'espace mais j'ai aussi le début de l'url de ce type http%3A//
Comment faire pour faire disparaitre le %3A (et avoir le ":") mais pas le %20 ?
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ils y expliquent pourquoi les anciennes méthodes avant iOS7 avaient des problèmes, et surtout comment mieux utiliser les nouvelles méthodes, et en particulier quelques rappels sur comment ça marche une NSURL.
En bref, chaque partie d'une URL doit être encodée différemment d'après la RFC. La partie "http://" est indépendante, le host de l'URL doit être encodé d'une certaine manière, le path d'une manière différente, les paramètres encore d'une manière différente... parce que chaque partie de l'URL n'a pas les mêmes liste de caractères interdits d'après la RFC.
Là toi ce que tu essaies de faire c'est d'encoder la totalité de ton URL avec le URLPathAllowedCharacterSet. Note le "Path" dans le nom de ce CharacterSet, il est fait pour encoder que la partie "path" d'une NSURL, pas l'URL complète.
Je pense qu'en lisant le paragraphe des Release Notes Apple que je t'ai citée tu y verras bien plus clair.
Oui impeccable, merci !