记录SDWebImage框架踩的坑

1,687 阅读1分钟

1、问题出现过程

在项目中使用SDWebImage框架加载url图片时,发现一部分可以加载显示,一部分不可以加载显示。遇见这个问题,我当场就自闭了。

然后不得不去网上搜了一下解决方式,找到了以下几种方式:

  • 通过打印error,来判断出现了什么问题,然后去解决。

  • 通过试着去更新SDWebImage第三方框架,来判断是否是版本问题。

  • 通过在options在设置SDWebImageAllowInvalidSSLCertificates来解决问题。

然后我挨个去试了以上几种方案,发现都不能解决我的问题。在浏览器上可以显示,在app项目上不能显示的问题。--------然后自闭一上午。

2、解决方案

然后自己认真比对可以显示的url照片和不可以显示的url照片,发现一个问题,无语了,忘记了url中有中文文字的影响了。

然后然后 去谷歌搜了一下,问题解决。

1.图片地址带有汉字

我们需要对汉字进行转码,方法:NSString * str = [imageUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

2.图片地址带有反斜杠

我们需要将反斜杠转成斜杠,方法:NSString * str1 = @"\\"; imageUrl = [imageUrl stringByReplacingOccurrencesOfString:str1 withString:@"/"]; 注意第二种处理方法是用"/"替换地址中的"\",然而字符串"\"不能直接使用,需要使用\\,因为\后带一些字符是转义字符。

3、总结

我是真的菜。~~~哭泣