直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的

朋友问我,为什么URL地址是正确的,但是NSURL对象却是nil,之前也遇到这个问题,今天把它总结一下。

以下就是出现的情况:

直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的_第1张图片
Snip20160504_6.png

但是 通过 stringByAddingPercentEscapesUsingEncoding: 就可以了(因为网址可能会出现中文,使用此方法,将其中中文转码放到URL中)

直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的_第2张图片
Snip20160504_8.png

2016-09-12
在iOS7之后,此方法废弃了,使用stringByAddingPercentEncodingWithAllowedCharacters,
例如:

[urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

借鉴文章:
How to use stringByAddingPercentEncodingWithAllowedCharacters() for a URL in Swift 2.0
直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的

你可能感兴趣的:(直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的)