Was*_*lil 2 ios swift wkwebview
我在WKWebView上工作,当我加载一个没有这样的参数的网址,它工作正常
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)
}
Run Code Online (Sandbox Code Playgroud)
但我想用这样的get参数发送用户的位置
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)
}
Run Code Online (Sandbox Code Playgroud)
它显示了这个错误:
致命错误:在展开可选值时意外发现nil 2017-02-02 16:43:36.645898 pixel [5112:1996136]致命错误:在解包可选值时意外发现nil
谢谢是提前
尝试编码您的网址并使用Swift本机类型URL而URLRequest不是NSURL和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))
}
Run Code Online (Sandbox Code Playgroud)
编辑:我已经尝试过您在评论中添加的网址,当您使用它进行编码时它会完美显示urlQueryAllowed.可能是你没有添加NSAppTransportSecurity你的info.plist文件尝试添加一次,它也适合你.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Run Code Online (Sandbox Code Playgroud)