仅当viewDidLoad外的loadRequest时,UIWebView的Nil错误

时间:2019-04-25 01:28:42

标签: swift uiwebview

我收到以下错误

  

“在展开可选值时意外发现nil”

当我尝试在通过容器视图显示的Web视图中加载PDF文件时。

我已经在IB中正确链接了UIWebView,并在父VC上运行以下代码,以告知具有WebView的容器视图以加载PDF文件。

func loadThePDF () {
 if let pdf = Bundle.main.url(forResource: "Clothing", withExtension: "pdf", subdirectory: nil, localization: nil)  {
            let req = NSURLRequest(url: pdf)
            catalogWebView.loadRequest(req as URLRequest)
 }
}

这里很奇怪,如果我将PDF加载代码放入ViewDidLoad中,则可以正常工作。

但是,试图告诉它在外部加载PDF会导致此错误,只能通过放置?来解决?在catalogWebView上?但是PDF只是无法加载...

1 个答案:

答案 0 :(得分:0)

我已经通过更改链接到Child / Container视图控制器的方式解决了这一问题。由于某种原因,这可以通过使用以下方法解决问题:

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "pdfView" {
            pdfVC = segue.destination as? PDFViewController
        }
    }

不确定原因,但我猜这与ViewController如何链接有关,当我告诉它在容器视图的Web视图中加载新PDF时。