web-dev-qa-db-fra.com

Convertir NSURL en chemin de fichier local

J'ai un 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
108
sashoalm

Utilisez le -[NSURL path] méthode:

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

De la documentation:

Le chemin de l'URL, non échappé avec le 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é avec isFileURL), la valeur de retour de cette méthode convient pour une entrée dans les méthodes de NSFileManager ou de NSPathUtilities. Si le chemin comporte une barre oblique finale, 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:].

217
user142019

Swift 4:

absoluteURL.path 

ou

yourUrl.path
2
Naishta