Convertir NSURL en chemin de fichier local

J'ai un NSURL qui ressemble à ceci:

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

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

/Users/myuser/myfile.txt
99
demandé sur sashoalm 2011-08-05 16:33:25

2 réponses

Utilisez la méthode -[NSURL path]:

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

De la documentation:

Le chemin de L'URL, non échappé avec la méthode stringByReplacingPercentEscapesUsingEncoding:. Si le récepteur n'est pas conforme à la RFC 1808, renvoie nil.

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

Par RFC 3986, la barre oblique principale après le 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:].

205
répondu 2013-02-20 11:27:24

Swift 4:

absoluteURL.path 

Ou

yourUrl.path
0
répondu Naishta 2018-06-07 21:23:22