Convertir NSURL en chemin de fichier local


112

J'ai une NSURL qui ressemble à ceci:

fichier: //localhost/Users/myuser/myfile.txt

Existe-t-il une fonction standard pour le convertir en un chemin de fichier local ressemblant à ceci:

/Users/myuser/myfile.txt

Réponses:


222

Utilisez la -[NSURL path]méthode:

NSLog(@"%@", myUrl.path);

De la documentation:

Le chemin de l'URL, sans échappement avec la stringByReplacingPercentEscapesUsingEncoding:méthode. Si le récepteur n'est pas conforme à la RFC 1808, retourne nil.

Si cet objet URL contient une URL de fichier (comme déterminé par isFileURL), la valeur de retour de cette méthode convient pour une entrée dans les méthodes de NSFileManager ou NSPathUtilities. Si le chemin comporte une barre oblique à la fin, il est supprimé.

Selon la RFC 3986, la barre oblique après la partie autorité (nom d'hôte et port) est traitée comme faisant partie du chemin.

Notez que vous pouvez créer une telle URL avec +[NSURL fileURLWithPath:].


8
Selon l'endroit d'où vous obtenez l'URL, vous voudrez peut-être vérifier si elle [myURL isFileURL]est vraie.
Matt Connolly

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.