2011-04-30 4 views
9

J'ai une chaîne de mon URL .. Je veux obtenir des données de cette URL. Pour cela, j'ai besoin de créer l'objet de NSURL. Le problème est alors que j'essaie URLWithString méthode de la classe NSURL, il renvoie zéro. Mais quand j'ouvre ce lien dans Safari de My Mac il me montre l'Image.NSURL URLWithString: myString renvoie-t-il?

J'utilise ..

NSString *str = @"http://chart.apis.google.com/chart?chs=150x150&cht=qr&chld=L|0&chl=http://MyServer.com/shareMyCard.php?value=1304057103"; 
NSURL *url = [NSURL URLWithString:str]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *img = [UIImage imageWithData:data]; 

Je ne sais pas pourquoi l'URL est nulle. Je pense à cause de la chaîne de requête dans ma chaîne.

Une idée pour obtenir des données de cette chaîne d'URL.

Merci

Répondre

32

Votre URL est nul car il contient des caractères spéciaux, utilisez cette fonction suivante pour encoder vos paramètres d'URL avant de les utiliser dans l'URL -

-(NSString *) URLEncodeString:(NSString *) str 
{ 

    NSMutableString *tempStr = [NSMutableString stringWithString:str]; 
    [tempStr replaceOccurrencesOfString:@" " withString:@"+" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [tempStr length])]; 


    return [[NSString stringWithFormat:@"%@",tempStr] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
} 
+0

Je sais qu'il est tard dans la journée, mais je vous remercie beaucoup pour cela - résolu mon problème aussi. – Robert

Questions connexes