创建URL为空的解决办法

在使用+URLWithString:或-initWithString:创建一个URL对象时,提供的参数字符串必须符合RFC 2396标准(O网页链接。而这两个方法又是根据RFC 1738(O网页链接和1808(O网页链接两个标准来解析字符串的。故弄玄虚一下。当然我们不需要去了解所有的细节,简单了解一下就行,可以参考一下阮大侠的这篇O网页链接

这里要说明的就是:对于我们而言,如果用带有中文的字符串(如"O网页链接北京")去创建一个URL对象的话,返回的是一个nil。

我 们所需要做的就是对不符合标准的字符串进行转义操作。NSString类提供了两个方法来做这种转义操作,一个是 -stringByAddingPercentEscapesUsingEncoding:,不过这个方法在iOS 9.0已被废弃;现在更提倡的是用-stringByAddingPercentEncodingWithAllowedCharacters:方法,这 个方法是iOS 7.0后添加的。

posted @ 2016-06-07 10:29  勇猛的小黑  阅读(1983)  评论(0编辑  收藏  举报