Convierta NSURL a la ruta del archivo local

112

Tengo una NSURL que se parece a esto:

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

¿Existe una función estándar para convertirlo a una ruta de archivo local con este aspecto:

/Users/myuser/myfile.txt
sashoalm
fuente

Respuestas:

222

Usa el -[NSURL path]método:

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

De la documentación:

La ruta de la URL, sin escape con el stringByReplacingPercentEscapesUsingEncoding:método. Si el receptor no cumple con RFC 1808, regresa nil.

Si este objeto URL contiene una URL de archivo (como se determina con isFileURL), el valor de retorno de este método es adecuado para ingresar en los métodos de NSFileManager o NSPathUtilities. Si la ruta tiene una barra al final, se elimina.

Según RFC 3986, la barra inclinada después de la parte de autoridad (nombre de host y puerto) se trata como parte de la ruta.

Tenga en cuenta que puede crear dicha URL con +[NSURL fileURLWithPath:].


fuente
8
Dependiendo de dónde obtenga la URL, es posible que desee verificar que [myURL isFileURL]sea ​​verdadera.
Matt Connolly
3

Rápido 4:

absoluteURL.path 

o

yourUrl.path
Naishta
fuente