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

Mar*_*ina -2 nsurl ios swift

我需要从像URL字符串创建NSURL的目标这一。它包含|符号。问题是 NSURL 构造函数总是返回 nil,因为|符号。我怎样才能创建这个对象?

ozg*_*gur 5

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

但是,您可以使用stringByAddingPercentEncodingWithAllowedCharacters:withNSCharacterSet.URLQue??ryAllowedCharacterSet()来转义 URL 中的无效字符:

url.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQue??ryAllowedCharacterSet())
Run Code Online (Sandbox Code Playgroud)

——

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))
Run Code Online (Sandbox Code Playgroud)