为什么网页视图会崩溃

Why does web view crashes

我在 WKWebView 中调用一个网页,但当我启动应用程序时它总是崩溃,并显示以下错误消息:

Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value.

我的代码如下

let param = "https://myapp.mydomain.com/GameAPI/index.jsp?user=0202020767|0202020767"
let url = URL(string: param)
webView.load(URLRequest(url: url!))

此时 nil 指向这段代码:

webView.load(URLRequest(url: url!))

我怀疑参数中的“|”字符弄乱了您的 URL。

尝试这样做:

let param = "user=0202020767|0202020767"
let escapedParam = param.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let fullURLString = "https://myapp.mydomain.com/GameAPI/index.jsp?\(escapedParam)"
if let url = URL(string: fullURLString) {
    webView.load(URLRequest(url: url))
} else {
    Swift.print("url is nil for some reason")
}

发生这种情况,因为无法解析您尝试访问的 url。

此外,您最好使用可选绑定而不是强制解包。

这里是您可以检查有效的代码 url:

if let url = URL(string: "your url") {
   webView.load(URLRequest(url: url))

} else {
   print("could not open url, it is nil")
}