2010-10-05 4 views
0

J'envoie l'argument de mon application d'iphone à la page de php pour engendrer le xml donné ci-dessous.Je reçois l'erreur en envoyant l'argument avec l'espace

[email protected]"http://www.abc.net/feed/index_clatest.php?more=s-laday gaga"; 

L'URL est exécutée dans mozila lorsqu'elle est exécutée. Mais quand je l'exécute dans mon application iphone, j'obtiens l'erreur suivante.

erminating application en raison d'une exception non interceptée 'NSInvalidArgumentException', raison: ' - [NSConcreteData initWithContentsOfURL: Options: erreur:]: URL nulle *

Note: cela fonctionne quand je qu'envoyer s-dame en argument.

Aidez-moi s'il vous plaît.

+0

L'URL exécuter dans mozila quand il s'exécute. - Capitaine Obvious. Et Lady Gaga, ce que le heckkkk: D? – Jordy

+0

@Jordy: c'est parce que Mozilla va échapper à l'URL pour vous si vous le tapez dans la barre d'adresse. – JeremyP

+0

@JeremyP tu comprends que je ris de Lady gaga: D? – Jordy

Répondre

8

Vous devez remplacer l'espace (et les autres caractères d'URL incorrects) par le pourcentage d'échappement. NSString a -stringByAddingPercentEscapesUsingEncoding: méthode pour cela

+2

Pour ajouter un peu plus d'explications à cette réponse correcte mais courte, la chaîne @ "http://www.abc.net/feed/index_clatest.php?more=s-laday gaga" n'est pas valide URL car elle contient un espace. Cocoa valide les URL avant d'essayer de les utiliser. – JeremyP

Questions connexes