【问题标题】:How to fill empty string with %20 from an array of strings ios如何用字符串数组中的 %20 填充空字符串 ios
【发布时间】:2017-11-17 07:01:47
【问题描述】:

我有一个从 JSON 对象中找到的字符串数组。目前是一个包含 4 张图像的图像数组。我不知道将来会得到多少张图像。 我的问题是图像 URL 没有显示在我的 ImageView 中,因为它包含一些空白空间。我已经检查过这个空间是否被替换为 %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"
)

Pragma Mark:我想像这样转换“数据”

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"
)

我知道这个问题已经存在,但仅针对单个字符串。但我的问题是我想转换完整的字符串 URL 数组。 请帮助我已经用了 3-4 天。

【问题讨论】:

    标签: ios objective-c arrays string


    【解决方案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);
    }
    

    【讨论】:

    • 非常感谢。很棒的答案在一分钟内解决了@trungduc
    • @srsstyle 欢迎 ;)
    【解决方案2】:

    您不应该只用%20 替换空格,还有其他可能导致url 问题的特殊字符。您必须使用百分比编码。像这样。

    NSString *url = [dict objectForKey:@"url"];
    url = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
    

    【讨论】:

    • 我会试试这个@Bilal
    • 也解决了我的问题兄弟@Bilal
    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多