2011-08-31 21 views
8

Aquí A continuación se muestra el códigoNSURL devuelve nil Valor

NSString *string = [NSString stringWithFormat:@" http://abc.com /Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@& ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 

Aquí en cadena de valor, pero no hay URL devuelve nil. ¿Alguien puede decir por qué sucedió esto?

Gracias ....

"Esto no funcionará, así que esto es lo que hice en su lugar"

NSString *string = [NSString stringWithFormat:@"http://abc.com/Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@&ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 
+0

alegro de que mi respuesta ayudó. ¿Podrías ayudar a todos y marcar esta pregunta como respondida? –

+0

¿Me dirá a hoe que marque esta pregunta como respondida? – Vijay

+0

Hace clic en la marca de verificación gris al lado de la respuesta, haciendo que se vuelva verde. –

Respuesta

26

NSURL volverá a cero para las direcciones URL que contienen caracteres ilegales, como espacios.

Antes de utilizar su cadena con [NSURL URLWithString:], asegúrese de escapar de todos los caracteres no permitidos utilizando [NSString stringByAddingPercentEscapesUsingEncoding:].

Aquí está the class reference for NSString.

+0

Gracias Mike Hay Now El problema está resuelto. – Vijay

+0

Hay espacios. – Nekto

+0

El código que nos mostró tiene espacios. – 0x8badf00d

-1

Hola, todo ahora Mi problema se resuelve aquí Hice un error, dejé un espacio en blanco antes de "http".

El código correcto es

NSString *string = [NSString stringWithFormat:@"http://myserver.com/Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@&ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 
Cuestiones relacionadas