我有一个我从JSON对象找到的String数组。它是一个目前包含4个图像的Image数组。我不知道将来会有多少图像。 我的问题是我的ImageView中没有显示图像URL因为它包含一些空白区域。我已经检查过这个空格是否被%20替换,那么我很乐意在我的ImageView中使用它。
任何人都可以建议我如何替换此图像阵列中所有图像字符串URL中的所有空白区域?
请找到相同的代码:-----
NSArray* latest = [json objectForKey:@"BANNER"];
NSMutableArray *data=[NSMutableArray new];
if (!latest) {
NSLog(@"Error parsing JSON: %@",error);
}
else{
for(int i=0; i<latest.count ; i++)
{
NSDictionary *dict = [latest objectAtIndex:i];
[data addObject:[dict objectForKey:@"url"]];
}
NSLog(@"data :%@",data);
}
#Pragma Mark:我找到了以下格式的图像数组
data :(
"https://xyz.in/mobile/1508139616-Food Offer Banner App (1).jpg",
"https://xyz.in/mobile/1508163055-Serving Banner app.jpg",
"https://xyz.in/mobile/1508746128-Food App Banner Deal10.jpg",
"https://xyz.in/mobile/1508746172-Food Banner Features.jpg"
)
data :(
"https://xyz.in/mobile/1508139616-Food%20Offer%20Banner%20App%20(1).jpg",
"https://xyz.in/mobile/1508163055-Serving%20Banne%20app.jpg",
"https://xyz.in/mobile/1508746128-Food%20App%20Banner%20Deal10.jpg",
"https://xyz.in/mobile/1508746172-Food%20Banner%20Features.jpg"
)
我知道这个问题已经存在,但仅限于单个字符串。但我的问题是我要转换完整的String Url数组。 请帮助我已经花了3-4天。
答案 0 :(得分:1)
让我们使用stringByReplacingOccurrencesOfString
。它可以帮助您用%20
替换所有空格。
yourImageUrlString = [yourImageUrlString stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
代码
NSArray* latest = [json objectForKey:@"BANNER"];
NSMutableArray *data=[NSMutableArray new];
if (!latest) {
NSLog(@"Error parsing JSON: %@",error);
}
else{
for(int i=0; i<latest.count ; i++)
{
NSDictionary *dict = [latest objectAtIndex:i];
NSString *url = [dict objectForKey:@"url"];
url = [url stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
[data addObject:url];
}
NSLog(@"data :%@",data);
}
答案 1 :(得分:1)
您不应该仅使用%20
替换空格,还有其他特殊字符可能会导致网址出现问题。您必须使用百分比编码。这样的事情。
NSString *url = [dict objectForKey:@"url"];
url = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];