在解包一个可选值WKWebView获取参数时意外地发现了nil

时间:2017-02-02 11:46:50

标签: ios swift wkwebview

我正在使用WKWebView,当我加载没有这样的参数的网址时,它可以正常工作

fab.setImageResource(R.mipmap.ic_arrow_forward);

但我想用get参数发送用户的位置

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)
}

它显示此错误:

  

致命错误:在展开Optional值时意外发现nil   2017-02-02 16:43:36.645898 pixel [5112:1996136]致命错误:在展开可选值时意外发现nil

谢谢是提前

1 个答案:

答案 0 :(得分:6)

尝试对您的网址进行编码,并使用Swift原生类型URLURLRequest代替NSURLNSURLRequest

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))
}

编辑:我已经尝试过您在评论中添加的网址,当您使用urlQueryAllowed对其进行编码时,它会完美展示。可能您没有在NSAppTransportSecurity文件中添加info.plist尝试添加一次,它也适用于您。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>