簡體   English   中英

執行webView.loadRequest(request)時出現“意外發現nil ...”錯誤

[英]“unexpectedly found nil …” error when performing webView.loadRequest(request)

我正在嘗試創建一個自定義UIViewControllers數組,它們每個都包含一個UIWebView。 在for循環中,在“ loadRequest”處,我得到“致命錯誤:在展開可選值時意外發現nil”。 肯定有一個帶有URL的NSURLRequest傳入。如果我注釋掉“ reportVC.reportWebView.loadRequest(request)”,則一切運行正常。

func createViewControllers(callback:(controllers:[ReportViewController])->()){
    var urls = [NSURL]()
    getPDFs { (pdfURLs) -> () in
        urls = pdfURLs

        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
        var reportControllers = [ReportViewController](count: urls.count, repeatedValue: ReportViewController())

        for (index,url) in enumerate(urls){

            var reportVC : ReportViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ReportVC") as ReportViewController
            //reportVC.title = ""
            let request = NSURLRequest(URL: url)

            reportVC.reportWebView.loadRequest(request)
            reportControllers[index] = reportVC

            if reportControllers.count == urls.count{
                callback(controllers: reportControllers)
            }
        }

    }
}

任何指導將不勝感激。 謝謝。

在所有的可能性reportWebViewreportVC的實例ReportViewController是未結合的(綁定到nil )。 Xcode IB將IBOutlet聲明為“隱式展開的可選內容”-您需要為其提供初始值。 否則,第一次訪問該屬性將導致運行時異常。

通過確保reportWebView綁定到UIWebView (在情節reportWebView或代碼中)來reportWebView錯誤。

另外,在調用loadRequest()之前,請確保已正確初始化UIWebView對象。 否則,您可能希望將URL存儲在該類的成員對象中,直到執行viewWillAppear()為止。

然后,從viewWillAppear()內部調用loadRequest()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM