我在WKWebView中调用一个网页,但是启动应用程序时它总是崩溃,并显示以下错误消息:
线程1:致命错误:展开包装时意外发现nil 可选值。
我的代码在下面
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!))
答案 0 :(得分:2)
我怀疑参数中的“ |
”字符弄乱了您的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")
}
答案 1 :(得分:0)
之所以发生这种情况,是因为无法解析您尝试访问的URL。
此外,最好使用可选绑定,而不是强制打开。
以下是您可以使用有效网址检查的代码:
if let url = URL(string: "your url") {
webView.load(URLRequest(url: url))
} else {
print("could not open url, it is nil")
}