Convertir un NSURL a un NSString


Tengo una aplicación donde el usuario puede elegir una imagen de las imágenes de la aplicación integrada o de la biblioteca de fotos del iphone. Utilizo un objeto Occasion que tiene una propiedad NSString para guardar el imagePath.

Ahora, en el caso de las imágenes de la aplicación integrada, obtengo el nombre del archivo como NSString y guardado en [occasion imagePath]. Pero en el segundo caso donde el usuario elige una imagen de la fototeca obtengo un NSURL que quiero convertir en un NSString para poder guardarla en [occasion imagePath].

Es posible convertir el NSURL a un NSString?

Author: beryllium, 2011-11-10

7 answers

NSString *myString = myURL.absoluteString;

Más información en los documentos :

 645
Author: Randall,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-14 15:30:03

Si estás interesado en la cadena pura:

[myUrl absoluteString];

Si está interesado en la ruta representada por la URL (y para ser utilizado con NSFileManager métodos, por ejemplo):

[myUrl path];
 125
Author: viggio24,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-03 07:15:52

Prueba esto en Swift:

var urlString = myUrl.absoluteString

Objetivo-C:

NSString *urlString = [myURL absoluteString];
 42
Author: beryllium,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-15 09:40:49

Actualización rápida:

var myUrlStr : String = myUrl.absoluteString
 16
Author: kmiklas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-16 18:33:54

Acabo de luchar con esta misma cosa y esta actualización no funcionó.

Esto finalmente hizo en Swift:

let myUrlStr : String = myUrl!.relativePath!
 1
Author: Speedz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-17 12:15:20

Puedes usar cualquier forma

NSString *string=[NSString stringWithFormat:@"%@",url1];

O

NSString *str=[url1 absoluteString];

NSLog(@"string :: %@",string);

String :: file:///var/containers/Bundle/Application/E2D7570B-D5A6-45A0-8EAAA1F7476071FE/RemoDuplicateMedia.app / loading_circle_animation.gif

NSLog(@"str :: %@", str);

Str :: file:///var/containers/Bundle/Application/E2D7570B-D5A6-45A0-8EAA-A1F7476071FE/RemoDuplicateMedia.app / loading_circle_animation.gif

 1
Author: Shaik Thuphel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-30 09:47:42

En Swift :- var str_url = tu url.[1]]}

Resultará una url en cadena.

 -1
Author: kangna sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-24 11:01:05