为什么WKWebView变为零?

脂肪

我使用Swift4.0和Xcode9.0。我尝试使用显示一个网站WKWebView直到昨天才没问题,但是今天发生了错误。

import UIKit
import WebKit

class WKWebViewViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {

    @IBOutlet weak var webView: WKWebView!

    var startUrl = "https://www.apple.com"
    var requestUrl: String?

    override func loadView() {
        webView.uiDelegate = self
        webView.navigationDelegate = self

    }

    override func viewDidLoad() {
        super.viewDidLoad()

        webView.allowsBackForwardNavigationGestures = true

        if let url = URL(string: startUrl) {
            let request = URLRequest(url: url)
            webView.load(request)

        }

    }

}

错误发生在webView.uiDelegate = self这是错误日志:

fatal error: unexpectedly found nil while unwrapping an Optional value

为了进行调试,我print("webView:\(webView)")在下添加loadView(),发现webView本身是nil

我尝试添加?所有内容webView,但应用程序仅出现黑屏。为什么WkWebView变成零?是我的代码之外的一些必需设置吗?

艾伦

必须打电话super.loadView()时您可以覆盖loadView这个样子。这就是WKWebView为零的原因。

文档建议loadView在使用情节提要/ xib时完全不要覆盖

如果使用Interface Builder创建视图并初始化视图控制器,则不得重写此方法。

您应该将这两行代码作为第二步移动 viewDidLoad

override func viewDidLoad() {
    super.viewDidLoad()
    webView.uiDelegate = self
    webView.navigationDelegate = self
    ....
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章