2011-06-23 23 views
21

teniendo problemas para conseguir NSString para convertir a NSURL, item.image, mantiene la dirección URL de una imagen que Im que consigue a través de XMLNSString a NSURL

NSString *urlString = [NSString stringWithFormat:@"%@", item.image]; 
NSURL *url = [NSURL URLWithString:urlString]; 

NSLog(@"string> %@ ", urlString); 
NSLog(@"url> %@ ", url); 

2011-06-23 11:18:49.610 Test[10126:207] string> http://www.harlemfur.com/images/Dog_Olive.jpg  
2011-06-23 11:18:49.611 Test[10126:207] url> (null) 

también si trato:

NSString *urlString = [NSString stringWithFormat:@"%@", item.image]; 
NSURL *url = [NSURL fileURLWithPath :urlString]; 

2011-06-23 11:22:08.063 Test[10199:207] string> http://www.harlemfur.com/images/Dog_Olive.jpg 

2011-06-23 11:22:08.064 Test[10199:207] url> %0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20http://www.harlemfur.com/images/Dog_Olive.jpg%0A%20%20%20%20%20%20%20%20%20%20%20%20 --/
+0

no pueden reproducirse. El problema debe ser con item.image. ¿Qué tipo es exactamente? – Eiko

+0

¿Estas líneas aparecen en tu código así como así? Directamente una tras otra (construcción y registro)? – Eiko

Respuesta

74

al hacer URL de 012., no se olvide de codificar en primer lugar, por lo intente esto:

NSString *urlString = [NSString stringWithFormat:@"%@", item.image]; 
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
+0

gracias, pero esta es la impresión que estoy recibiendo: 2011-06-23 11: 41: 34.796 Prueba [10609: 207] cadena> http://www.harlemfur.com/images/Dog_Olive.jpg 2011-06 -23 11: 41: 34.797 prueba [10609: 207] url>% 0A% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20http: //www.harlemfur.com/images/Dog_Olive.jpg%0A%20%20%20%20%20%20%20%20%20%20%20%20 – user616860

+0

Entonces usted debe comprobar su item.image, hacer Seguro que no hay un personaje oculto. Consulte la documentación de NSString para ver cómo recortar la cadena. – cxa

+0

tenías razón, tuve espacios adicionales en mi xml, gracias tio, funciona como un encanto – user616860

2

Todos está bien, si desea obtener la URL para imprimir en NSLog utilizar este:

NSLog(@"url> %@ ", [url absoluteString]); 
+2

* Puede * imprimir objetos directamente en Objective-C. Llama al método 'description'. Funciona bien con NSURL. – Eiko

1

item.image no sólo contiene la dirección URL, pero comienza con un salto de línea y espacios. Quítales los primeros y deberías estar bien.

0

En Swift:

NSURL(fileURLWithPath: item.image!)