No se puede crear una nsurl válida

Estoy intentando analizar datos de un servicio web xml pero no puedo obtener mi URL. Por favor revisa mi código:

NSLog(@"log url: %@",url);
[url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
NSLog(@"%@",url);
[url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSLog(@"%@",url);

NSURL *URL = [NSURL URLWithString:url];
NSXMLParser *home_Parser = [[NSXMLParser alloc] initWithContentsOfURL:URL];
[home_Parser setDelegate:self];
[home_Parser parse];
[home_Parser release];  

Siempre obtengo una URL como nula. La razón es que mi URL de cadena tiene espacio incluido. Intenté reemplazarlo y escapar, pero no funciona. A continuación se muestra la URL que estoy usando

http://www.mydomain.com/radioListGenre.php?genre=Radiostations jugando Rock, ¿cómo puedo eliminar este espacio? ¿Existe alguna otra técnica de las que utilicé anteriormente?

Muchas Gracias
Pankaj

preguntado el 09 de enero de 11 a las 05:01

Necesitas 4 espacios en frente de cada línea de código para tenerlo todo en formato. La forma más sencilla es seleccionar todo el código y hacer clic en el {} , que agregará 4 espacios al comienzo de cada línea seleccionada. -

1 Respuestas

stringByAddingPercentEscapesUsingEncoding y stringByReplacingOccurrencesOfString operar en la cuerda proporcionada y devolver una cadena. No está asignando el valor de retorno a nada, por lo que la URL no cambia, el valor de retorno simplemente desaparece en el espacio. Quieres algo más como:

url = [url stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];

asumiendo que la URL es una cadena mutable. Ahora url contiene la versión modificada de url. Sin la asignación, es igual de efectivo que hacer algo como esto:

a + 1;

en lugar de:

a = a + 1

Respondido el 09 de enero de 11 a las 08:01

sí, lo descubrí más tarde ... un error tonto de mi parte ... gracias por la respuesta - pankaj

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.