0

UIImage経由 URLを初期化しようとしています。これは私が書いたコードです:

NSString * path = [NSString stringWithFormat:@"%@",[[_tours objectAtIndex:indexPath.row]objectForKey:@"map_url"]];
    NSURL *url = [NSURL URLWithString:path];
    NSData *data = [NSData dataWithContentsOfURL:url];
    UIImage *img = [[UIImage alloc]initWithData:data];
    [[cell tourPreviewImage]setImage:img];
    ....

map_urlは次のようになります。

https://maps.google.com/maps/api/staticmap?size=200x200&maptype=roadmap&markers=size:big|color:green|72.3601030185,41.4626763775&markers=size:big|color:red|45.4563468516,94.4774796973&sensor=false

NSURLオブジェクトが | を処理できないようです。画像データを取得できないため、文字を正しい方法でパイプします。パイプで区切られたパラメーターを URL から削除すると、すべて正常に動作します。

この問題を解決する方法はありますか?

4

1 に答える 1

0

わかりました、これに対する解決策を見つけました。エンコーディングがうまくいかなかったのです。

NSString * path = [NSString stringWithFormat:@"%@",[[_tours objectAtIndex:indexPath.row]objectForKey:@"map_url"]];
path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:path];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[UIImage alloc]initWithData:data];
[[cell tourPreviewImage]setImage:img];
于 2012-11-05T10:11:40.007 に答える