Converti NSURL nel percorso del file locale


112

Ho una NSURL simile a questa:

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

Esiste una funzione standard per convertirlo in un percorso di file locale simile a questo:

/Users/myuser/myfile.txt

Risposte:


222

Usa il -[NSURL path]metodo:

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

Dalla documentazione:

Il percorso dell'URL, senza caratteri di escape con il stringByReplacingPercentEscapesUsingEncoding:metodo. Se il ricevitore non è conforme a RFC 1808, restituisce nil.

Se questo oggetto URL contiene un URL di file (come determinato con isFileURL), il valore restituito di questo metodo è adatto per l'input nei metodi di NSFileManager o NSPathUtilities. Se il percorso ha una barra finale, viene rimosso.

Per RFC 3986, la barra dopo la parte di autorità (nome host e porta) viene considerata come parte del percorso.

Nota che puoi creare un URL di questo tipo con +[NSURL fileURLWithPath:].


8
A seconda di dove prendi l'URL, potresti voler controllare che [myURL isFileURL]sia vero.
Matt Connolly

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.