【发布时间】:2017-12-08 05:52:41
【问题描述】:
我将此代码用于 endcodeURLString。
url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
before关键字用于不使用stringByAddingPercentEscapesUsingEncoding,
关键字之后是使用stringByAddingPercentEscapesUsingEncoding。
它将52 添加到 URL 2(不工作),但在 URL 1 中(它工作)
网址 1. 之前 =>https://images-na.ssl-images-amazon.com/images/I/41e3n4R8cUL._SL160_.jpg
网址 1. 之后 =>https://images-na.ssl-images-amazon.com/images/I/41e3n4R8cUL._SL160_.jpg
网址 2. 之前 =>https://images-na.ssl-images-amazon.com/images/I/41T%2BHZfQPsL._SL160_.jpg
网址 2. 之后 =>https://images-na.ssl-images-amazon.com/images/I/41T%252BHZfQPsL._SL160_.jpg
您可以在第二个网址中看到,在%2 之后,它添加了%252。我不知道为什么会发生这种情况或解决方案是什么。
cellForItemAtIndexPath中使用了波纹管代码
[Common loadPostImg:a_cell.imgProduct :[dictImage valueForKey:@"url"]];
+(void)loadPostImg :(UIImageView *)imgView :(NSString *)strUrl{
if (strUrl)
{
if (strUrl.length !=0)
{
strUrl = [Common appendURL:strUrl];
[imgView setShowActivityIndicatorView:NO];
imgView.backgroundColor = [UIColor clearColor];
NSLog(@"before => %@",strUrl);
strUrl = [Common endcodeURLString:strUrl];
NSLog(@"After => %@",strUrl);
[imgView sd_setImageWithURL:[NSURL URLWithString:strUrl] placeholderImage:[UIImage imageNamed:@"DefaultBanner"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL)
{
[imgView stopAnimating];
}];
}
else
{
imgView.image = [UIImage imageNamed:@"DefaultBanner"];
}
}
else
{
imgView.image = [UIImage imageNamed:@"DefaultBanner"];
}}
+(NSString *)endcodeURLString :(NSString *)url{
url = [url stringByReplacingOccurrencesOfString:@"%20" withString:@" "];
url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
return url;}
【问题讨论】:
标签: objective-c image url