我在 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)
}
它显示了这个错误:
fatal error: unexpectedly found nil while unwrapping an Optional value 2017-02-02 16:43:36.645898 pixel[5112:1996136] fatal error: unexpectedly found nil while unwrapping an Optional value
谢谢提前
最佳答案
尝试对您的网址进行编码并使用 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))
}
编辑: 我已经尝试过您在评论中添加的 url,当您使用 urlQueryAllowed
对其进行编码时,它可以完美显示。可能是您还没有将 NSAppTransportSecurity
添加到您的 info.plist
文件中尝试添加一次,它也适用于您。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
关于ios - 在展开可选值 WKWebView 获取参数时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42001432/