NSURL URLWithString: myString retourne Nil?

j'ai une chaîne de caractères de mon url.. Je veux les données de cette url. Pour cela j'ai besoin de créer un objet de NSURL. Le problème est alors que j'essaie <!-La méthode de la classe NSURL renvoie zéro. Mais quand j'ouvre ce lien dans Safari de mon Mac il m'affiche l'Image.

je suis à l'aide ..

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 chaîne de requête dans ma chaîne.

N'importe quelle idée de la façon d'obtenir des données à partir de cette chaîne D'Url.

Merci

9
demandé sur Kapil Choubisa 2011-04-30 09:53:10

1 réponses

votre URL est nulle parce qu'elle contient des caractères spéciaux, utilisez cette fonction suivante pour encoder vos paramètres d'url avant de les utiliser dans 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];
}
32
répondu Saurabh 2011-04-30 06:04:25