当使用 URL(string: urlString) returns nil 传递字符串的有效 url 时。怎么修?
When passing the valid url of the string with the init the URL(string: urlString) returns nil. How to fix?
当使用初始化 URL(string: urlString) returns nil 传递字符串的有效 url 时。怎么修?当我输入一个单词的值(例如莫斯科)时,一切正常,当输入两个单词的城市时,我使用 split(separator: " ") 分隔请求并使用 .joined(separator: "%20" ) 并得到城市除以 %20 和 return 零。这个问题怎么解决?
enter image description here
enter image description here
编码后使用apiKey:
let encodedKey = key.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
你需要addingPercentEncoding
查看我的扩展程序
extension String {
var url: URL? {
guard !isEmpty else { return nil }
if let url = URL(string: self) {
return url
} else if let urlEscapedString = addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed),
let escapedURL = URL(string: urlEscapedString) {
return escapedURL
}
return nil
}
}
当使用初始化 URL(string: urlString) returns nil 传递字符串的有效 url 时。怎么修?当我输入一个单词的值(例如莫斯科)时,一切正常,当输入两个单词的城市时,我使用 split(separator: " ") 分隔请求并使用 .joined(separator: "%20" ) 并得到城市除以 %20 和 return 零。这个问题怎么解决?
enter image description here
enter image description here
编码后使用apiKey:
let encodedKey = key.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
你需要addingPercentEncoding
查看我的扩展程序
extension String {
var url: URL? {
guard !isEmpty else { return nil }
if let url = URL(string: self) {
return url
} else if let urlEscapedString = addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed),
let escapedURL = URL(string: urlEscapedString) {
return escapedURL
}
return nil
}
}