我遇到以下代码问题: 字符串URL在浏览器中工作正常,但无法从中创建URL。
let stringURL = "http://dev.rationaletech.com:8063/Images/Offers/1/20%25-off-at-gloria-jean’s-coffee-6b62e43e-ba2b-4c9c-9f70-8b24e2a514a0.jpg"
let url = URL(string:stringURL)
url属性为零之后。
我意识到问题是由'内部链接中的字符引起的。
有什么建议吗?
更新
我接下来做了:
let charactesSet = CharacterSet(charactersIn: "#<>^`{|}").inverted
if let stringUrl = stringURL.addingPercentEncoding(withAllowedCharacters: charactesSet){
let url = URL(string:stringURL)
}
其中charactesSet是URLHostAllowedCharacterSet“#%/&lt;&gt;?@ \ ^`{|}”没有%。现在我有: http://dev.rationaletech.com:8063/Images/Offers/1/20%25-off-at-gloria-jean%E2%80%99s-coffee-6b62e43e-ba2b-4c9c-9f70-8b24e2a514a0.jpg 哪个有效。我不喜欢这个解决方案,会与服务器端交谈。 TNX