由于" |"无法创建NSURL对象url字符串中的符号

时间:2016-05-21 06:05:06

标签: ios swift nsurl

我需要从像this这样的url字符串创建一个NSURL对象。它包含|符号。问题是NSURL构造函数总是返回nil,因为|符号。我该如何创建这个对象?

1 个答案:

答案 0 :(得分:3)

我认为它是小写l,而不是管道|字符。

但是,您可以stringByAddingPercentEncodingWithAllowedCharacters:使用NSCharacterSet.URLQue‌​ryAllowedCharacterSet()来转义网址中的无效字符:

url.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQue‌​ryAllowedCharacterSet())

-

let url = "https://static-maps.yandex.ru/1.x/?l=map&pt=55,1583062965,61,3948104504,pm2rdm&size=600,300"    
let escapedURL = url.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQue‌​ryAllowedCharacterSet())
print(NSURL(string: escapedURL))