我在 WKWebView 上工作,当我加载没有像这样的参数的 url 时,它工作正常
func loadAddress(lat:Double,lng:Double){
let requestURL = NSURL(string:"http://url.com/dev2/billboard/geo")
let request = NSURLRequest(url: requestURL as! URL)
webview.load(request as URLRequest)
}
但我想用这样的获取参数发送用户的位置
func loadAddress(lat:Double,lng:Double){
let requestURL = NSURL(string:"http://url.com/dev2/billboard/geo/\(lat)/\(lng)")
let request = NSURLRequest(url: requestURL as! URL)
webview.load(request as URLRequest)
}
它显示这个错误:
致命错误:在解包可选值时意外发现 nil
2017-02-02 16:43:36.645898 像素[5112:1996136] 致命错误:在展开可选值时意外发现 nil
谢谢是提前
尝试对您的 url 进行编码并使用 Swift 原生类型URL https://developer.apple.com/reference/foundation/url and URLRequest https://developer.apple.com/reference/foundation/urlrequest代替NSURL
and NSURLRequest
.
let stringUrl = "http://url.com/dev2/billboard/geo/\(lat)/\(lng)"
if let encodedURL = stringUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed),
let url = URL(string: encodedURL) {
webview.load(URLRequest(url: url))
}
Edit:我已经尝试过您在评论中添加的网址,当您使用它进行编码时,它显示得非常完美urlQueryAllowed
。可能是你还没有添加NSAppTransportSecurity
和你的info.plist
文件尝试添加一次,它也适用于您。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)