2017-08-29 10 views
0

Je rencontre un problème étrange lors de la conversion d'un NSString en NSUrl. En fait, j'ai une méthode qui prend NSString comme paramètre, puis convertit cela en NSUrl et ensuite j'utilise cette URL pour télécharger un fichier.XCode: problème de conversion NSString vers NSUrl

Lorsque j'appelle cette méthode via mon code en transmettant une URL en tant que chaîne, la ligne suivante renvoie zéro.

NSURL *url = [NSURL URLWithString:urlString]; 

Mais quand je coder en dur la chaîne dans même méthode, puis-je convertir la chaîne à NSURL, je reçois une URL correcte. Je ne sais pas pourquoi cela arrive. Quelqu'un peut-il commenter ce comportement et me suggérer un moyen de résoudre ce problème?

Merci d'avance.

//NSString *urlString = @"http://someimage.png"; // works that way but not when i send this urlstring as parameter of method 
NSURL *url = [NSURL URLWithString:urlString]; 
NSLog(@"Url after conversion %@", url); 
+0

Peut être la chaîne Vous passez à votre méthode n'est pas une URL correcte. Imprimez l'url en utilisant NSLog() avant d'essayer de le convertir en NSURL dans votre méthode –

+1

Pouvez-vous ajouter votre méthode et son appel? –

+0

L'origine de votre paramètre urlString n'est pas claire. –

Répondre

0

Merci les gars pour vos réponses. J'ai finalement corrigé le problème et le problème était dans la chaîne d'URL que je passais en paramètre. Il y avait un peu plus de "" aux extrémités qui n'apparaissaient pas dans le NSLog car c'était une chaîne normale, mais quand j'ai enlevé ces "" de la chaîne d'URL et que je l'ai converti en NSURL, ça a bien fonctionné.

0

utilisation comme

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",@"http://someimage.png"]]; 
NSLog(@"Url after conversion %@", url);