创建URL为空的解决办法

时间:2023-03-09 23:33:34
创建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后添加的。